scrapyd schedule.json setting 传入多个值问题

 更新时间:2019年08月07日 08:38:35   作者:apuyuseng  
这篇文章主要介绍了scrapyd schedule.json setting 传入多个值,本文给出了问题分析及思路解决方案,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

使用案例:

import requests
adder='http://127.0.0.1:6800'
data = {
    'project':'v1',
    'version':'12379',
    'setting':['ROBOTSTXT_OBEY=True','CONCURRENT_REQUESTS=32']
}
resp = requests.post(adder,data=data)

问题解决思路:

版本1.2文档中:

◦setting (string, optional) - a Scrapy setting to use when running the spider

setting 是字符串,那么多个字符串该如何呢。

通过源码 site-packages/scrapyd/webservice.py

class Schedule(WsResource):
  def render_POST(self, txrequest):
    args = native_stringify_dict(copy(txrequest.args), keys_only=False)
    settings = args.pop('setting', [])
    settings = dict(x.split('=', 1) for x in settings)
    args = dict((k, v[0]) for k, v in args.items())
    project = args.pop('project')
    spider = args.pop('spider')
    version = args.get('_version', '')
    spiders = get_spider_list(project, version=version)
    if not spider in spiders:
      return {"status": "error", "message": "spider '%s' not found" % spider}
    args['settings'] = settings
    jobid = args.pop('jobid', uuid.uuid1().hex)
    args['_job'] = jobid
    self.root.scheduler.schedule(project, spider, **args)
    return {"node_name": self.root.nodename, "status": "ok", "jobid": jobid}

 可以发现 setting 在这里是list对象,且里面元素是字符,字符串必须包含=符号。

以此我们尝试传入setting:['DEBUG=True','HOST_NAME=axdda']

结果真的可以。对于比较复杂的设置,下次有需求再研究吧。

总结

以上所述是小编给大家介绍的scrapyd schedule.json setting 传入多个值问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • A标签中通过href和onclick传递的this对象实现思路

    A标签中通过href和onclick传递的this对象实现思路

    想传递当前对象给一个函数,于是就将这个URL写成"Javascript:shoControlSidebar(this)",可是结果发现这并不可行,接下来为大家详细介绍下解决方法
    2013-04-04
  • 深入浅析JavaScript的API设计原则

    深入浅析JavaScript的API设计原则

    这篇文章主要介绍了JavaScript的API设计原则,包括接口的流畅性,一致性,参数的处理,可扩展性,对错误的处理,可预见性,注释和文档的可读性,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-06-06
  • 如何利用JS判断整数x是否是回文数

    如何利用JS判断整数x是否是回文数

    回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,下面这篇文章主要给大家介绍了关于如何利用JS判断整数x是否是回文数的相关资料,需要的朋友可以参考下
    2022-01-01
  • javascript防篡改对象实例详解

    javascript防篡改对象实例详解

    这篇文章主要介绍了javascript防篡改对象,结合实例形式分析了防篡改对象的三个级别与具体使用技巧,需要的朋友可以参考下
    2017-04-04
  • js实现模糊匹配功能

    js实现模糊匹配功能

    这篇文章主要为大家详细介绍了js实现模糊匹配功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • javascript 绘制矩形框

    javascript 绘制矩形框

    今天读John Resig的Pro Javascript Techniques时候看到他书上给的一个关于drag and drop的例子,我做的第二件事就是js模拟用鼠标拖出矩形框,代码很简单
    2009-04-04
  • wap图片滚动特效无css3元素纯js脚本编写

    wap图片滚动特效无css3元素纯js脚本编写

    手机图片滑动切换,网上有很多这样的例子,但都借助于其他组件,让代码混乱的不行,本例介绍的是无css3元素纯js脚本编写的wap图片滚动特效
    2014-08-08
  • layer弹出层倒计时关闭的实现方法

    layer弹出层倒计时关闭的实现方法

    今天小编就为大家分享一篇layer弹出层倒计时关闭的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • javascript加号"+"的二义性说明

    javascript加号"+"的二义性说明

    单个的加号作为运算符在 JavaScript 中有三种作用。
    2013-03-03
  • JS Array.slice 截取数组的实现方法

    JS Array.slice 截取数组的实现方法

    这篇文章主要介绍了JS Array.slice 截取数组的实现方法,因为我们需要控制一下长度,需要的朋友可以参考下
    2016-01-01

最新评论