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 相关文章推荐
JS中剪贴板兼容性、判断复制成功或失败
Mar 09 Javascript
javascript显示选择目录对话框的代码
Nov 10 Javascript
jQuery 入门级学习笔记及源码
Jan 22 Javascript
理解Javascript_09_Function与Object
Oct 16 Javascript
js模拟hashtable的简单实例
Mar 06 Javascript
Jquery 实现图片轮换
Jan 28 Javascript
Vue+webpack项目基础配置教程
Feb 12 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 jQuery
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
Vue2.2.0+新特性整理及注意事项
Aug 22 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
Feb 20 Javascript
vue+axios实现post文件下载
Sep 25 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实现的发送带附件邮件类实例
2014/09/22 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
2018/01/21 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
分享别人写的一个小型js框架
2007/08/13 Javascript
学习ExtJS Window常用方法
2009/10/07 Javascript
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
python 二分查找和快速排序实例详解
2017/10/13 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
python re.match()用法相关示例
2021/01/27 Python
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
Java里面如何创建一个内部类的实例
2015/01/19 面试题
中学生打架检讨书
2014/02/10 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
工作迟到检讨书
2014/02/21 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书