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


Posted in Javascript onAugust 07, 2019

使用案例:

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 传入多个值问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
php图像生成函数之间的区别分析
Dec 06 Javascript
js this函数调用无需再次抓获id,name或标签名
Mar 03 Javascript
9款2014最热门jQuery实用特效推荐
Dec 07 Javascript
JS中多种方式创建对象详解
Mar 22 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
js实现分页功能
May 24 Javascript
深入理解Angular4中的依赖注入
Jun 07 Javascript
详解基于React.js和Node.js的SSR实现方案
Mar 21 Javascript
微信小程序封装分享与分销功能过程解析
Aug 13 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
js观察者模式的弹幕案例
Nov 23 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
Aug 07 #Javascript
微信小程序引入Vant组件库过程解析
Aug 06 #Javascript
Vue数据绑定实例写法
Aug 06 #Javascript
Vue代码整洁之去重方法整理
Aug 06 #Javascript
VUE写一个简单的表格实例
Aug 06 #Javascript
VUE前后端学习tab写法实例
Aug 06 #Javascript
Vue路由前后端设计总结
Aug 06 #Javascript
You might like
PHP安全编程之加密功能
2006/10/09 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
php生成N个不重复的随机数实例
2013/11/12 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
2018/05/31 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
微信小程序实现的图片保存功能示例
2019/04/24 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
Python中的列表生成式与生成器学习教程
2016/03/13 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
高中同学会活动方案
2014/08/14 职场文书
医院党员公开承诺书
2014/08/30 职场文书
Vue.Draggable实现交换位置
2022/04/07 Vue.js