最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

scrapyd schedule.json setting 传入多个值问题

来源:懂视网 责编:小采 时间:2020-11-27 21:52:39
文档

scrapyd schedule.json setting 传入多个值问题

scrapyd schedule.json setting 传入多个值问题:使用案例: import requests adder='http://127.0.0.1:6800' data = { 'project':'v1', 'version':'12379', 'setting':['ROBOTSTXT_OBEY=True','CONCURRENT_REQUESTS=32'] } resp = requests.pos
推荐度:
导读scrapyd schedule.json setting 传入多个值问题:使用案例: import requests adder='http://127.0.0.1:6800' data = { 'project':'v1', 'version':'12379', 'setting':['ROBOTSTXT_OBEY=True','CONCURRENT_REQUESTS=32'] } resp = requests.pos

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 传入多个值问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

文档

scrapyd schedule.json setting 传入多个值问题

scrapyd schedule.json setting 传入多个值问题:使用案例: import requests adder='http://127.0.0.1:6800' data = { 'project':'v1', 'version':'12379', 'setting':['ROBOTSTXT_OBEY=True','CONCURRENT_REQUESTS=32'] } resp = requests.pos
推荐度:
标签: setting Sched scrapyd
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top