scrapyd schedule.json setting 传入多个值
2024-09-01 04:35:15
使用案例:
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']
结果真的可以。对于比较复杂的设置,下次有需求再研究吧。
最新文章
- NET中验证控件表达式汇总
- 一个简单的SNTP客户端
- HDFS Append时packet的格式以及DataNode对block/checksum文件的处理
- 玩转SmartQQ之登录
- Linux 设备模型浅析之 uevent 篇(2)
- js获取当前页面的网址域名地址
- Objective-C之成魔之路【16-使用文件】
- 微服务(二)hystrix
- Linux文件类型介绍
- 【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用
- Java中读取txt文件中中文字符时,出现乱码的解决办法
- [winograd]winograd算法在卷积中的应用
- spark各种模式提交任务介绍
- Angular 添加路由
- 怎么关闭win10防火墙
- <;转载>; maven 详解 http://www.cnblogs.com/binyue/p/4729134.html
- innodb_locks_unsafe_for_binlog分析
- Linux 常用查找文件或者文件内容
- cocos代码研究(1)Node学习笔记
- block本质探寻七之内存管理
热门文章
- 如何在VPS上搭建WordPress博客网站(史上最全图文教程)
- git简单使用-GitHub
- SpringBoot系列——CORS(跨源资源共享)
- 数据结构&;算法的引言+时间复杂度
- Linux命令学习-history命令
- 包教包会之Open Live Writer设置代码样式
- android_activity_研究(二)
- MMM 数位dp学习记
- 最新 centos7下zabbix 监控redis状态
- KdTree &;&; Octree 原理学习对比以及可视化分析--";索引树";