我希望 scrapyd 在云上运行我的蜘蛛,为此我想将 FEED_URI 的值作为 scrapyd 命令中的参数传递。
目前我在自定义设置中使用以下配置将输出存储在 s3 上。
custom_settings = {
'FEED_FORMAT':'csv',
'FEED_URI':'s3://my_bucket/%s'%('OP_FILE')
}
但是我想通过
传递custom_setting的值curl http://localhost:6800/schedule.json -d project=link -d spider=link -d OP_FILE="output_link.csv"
显然无法在链接蜘蛛类的“init”方法中设置custom_setting值。
我可以做什么来解决这个问题。
您可以在命令中使用 FEEDS 设置(scrapy 版本 2.1 中的新功能),如下所示:
curl http://localhost:6800/schedule.json -d project=link -d spider=link -d 'setting=FEEDS={"output_link.csv":{"format": "csv"}}'
FEED_FORMAT
和 FEED_URI
已被弃用。如果您使用旧的 scrapy 版本并且必须使用这些设置,您可以像这样传递它们:
curl http://localhost:6800/schedule.json -d project=link -d spider=link -d setting=FEED_URI=output_link.csv -d setting=FEED_FORMAT=csv