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分页
Jun 07 Javascript
图片轮换效果实现代码(点击按钮停止执行)
Apr 12 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
利用Vue v-model实现一个自定义的表单组件
Apr 27 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
Angular directive递归实现目录树结构代码实例
May 05 Javascript
详解微信小程序 登录获取unionid
Jun 27 Javascript
vue router2.0二级路由的简单使用
Jul 05 Javascript
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
记一次Vue.js混入mixin的使用(分权限管理页面)
Apr 17 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
Apr 24 Vue.js
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 接口类与抽象类的实际作用
2009/11/26 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
求数组最大最小值方法适用于任何数组
2013/08/16 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
vue组件的写法汇总
2018/04/12 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
微信小程序签到功能
2018/10/31 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
[02:15]2014DOTA2国际邀请赛 专访LGD.lin小兔子是大腿
2014/07/14 DOTA
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
Cpy和Python的效率对比
2015/03/20 Python
python3中str(字符串)的使用教程
2017/03/23 Python
在django中使用自定义标签实现分页功能
2017/07/04 Python
Django 实现下载文件功能的示例
2018/03/06 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
int和Integer有什么区别
2013/05/25 面试题
给定一个时间点,希望得到其他时间点
2013/11/07 面试题
我的中国梦演讲稿高中篇
2014/08/19 职场文书
民主生活会意见
2015/06/05 职场文书
高中英语教学反思范文
2016/03/02 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis