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 相关文章推荐
AJAX 网页保留浏览器前进后退等功能
Feb 12 Javascript
javascript object array方法使用详解
Dec 03 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
Mar 17 Javascript
JS中怎样判断undefined(比较不错的方法)
Mar 27 Javascript
JavaScript function 的 length 属性使用介绍
Sep 15 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
May 11 Javascript
JS中使用DOM来控制HTML元素
Jul 31 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 Javascript
JavaScript寄生组合式继承原理与用法分析
Jan 11 Javascript
分享一个vue项目“脚手架”项目的实现步骤
May 26 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
Jul 18 Javascript
Vue自动构建发布脚本的方法示例
Jul 24 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
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
浅谈Vue.js
2017/03/02 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python中PIL安装简单教程
2016/04/21 Python
python制作websocket服务器实例分享
2016/11/20 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
学生信息管理系统python版
2018/10/17 Python
python3.5的包存放的具体路径
2020/08/16 Python
python 装饰器的基本使用
2021/01/13 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
难忘的一课教学反思
2014/04/30 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
创建文明城市标语
2014/06/16 职场文书
毕业生求职信范文
2014/06/29 职场文书
2015年路政工作总结
2015/05/22 职场文书