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 相关文章推荐
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
JavaScript 字符串乘法
Aug 20 Javascript
JS中showModalDialog 的使用解析
Apr 17 Javascript
Google Dart编程语法和基本类型学习教程
Nov 27 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
浅析2种JavaScript继承方式
Dec 04 Javascript
详解JavaScript正则表达式之RegExp对象
Dec 13 Javascript
基于JavaScript代码实现自动生成表格
Jun 15 Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 Javascript
vue与bootstrap实现时间选择器的示例代码
Aug 26 Javascript
Node做中转服务器转发接口
Oct 18 Javascript
用React Native制作一个简单的游戏引擎
May 27 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连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
用javascript实现点击链接弹出"图片另存为"而不是直接打开
2007/08/15 Javascript
点图片上一页下一页翻页效果
2008/07/09 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
介绍Python中的文档测试模块
2015/04/28 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
财务总监岗位职责
2014/03/07 职场文书
道德演讲稿
2014/05/21 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL