时间:2021-05-26
使用案例:
import requestsadder='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 传入多个值问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
schedule可以实现定时器的功能,就是每隔一段时间做什么事情,schedule的调用者是节点,所有的节点都可以调用schedule函数,参数需要传入一个函数
max(iterable,*[,key,default])max(arg1,arg2,*args[,key])函数功能为取传入的多个参数中的最大值,或者传入的可
{$_G[setting][regname]}{$_G[setting][regname]}是用来获得我们的注册地址变量,默认值是“register
最近遇到一个问题,在项目中需要传入一组对象。以前都只遇到过传入一个对象、多个对象或者一组数组的情况。很少遇到传入一组对象的情况。所以遇到这个问题的时候感觉有点棘
问题:请求在线api,获取json格式的返回结果解析json里面的一个值将该值存储到文件开发准备1、shell快速入门:#!/bin/shcd~mkdirshe