在scrapyd中,如何通过schedule api传递FEED_URI值

问题描述 投票:0回答:1

我希望 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值。

我可以做什么来解决这个问题。

python-3.x scrapy scrapyd
1个回答
0
投票

您可以在命令中使用 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
© www.soinside.com 2019 - 2024. All rights reserved.