0

我的本地机器上有一个工作蜘蛛,它将项目写入本地 postgres 数据库。

我现在正试图在 EC2 实例上通过 scrapyd 运行相同的蜘蛛。这显然行不通,因为代码(模型、管道、设置文件)引用了我本地机器上的数据库。

我应该实施哪些调整来完成这项工作?

4

1 回答 1

1

找到了,答案比我想象的要容易。在 settings.py 文件中,删除 ITEM_PIPELINES 和 DATABASE 的设置。删除后,通过scrapyd在EC2上部署项目。

默认情况下,项目现在将被编写为 JSON 行。这可以用 FEED_FORMAT 和 FEED_URI 覆盖:

sudo curl http:/xxxxxxxxx.us-west-2.compute.amazonaws.com:6800/schedule.json -d project=xxxxxxxxxx -d spider=xxxxxxxxx -d setting=FEED_URI=/var/lib/scrapyd/items/xxxxxxxxxx.csv -d setting=FEED_FORMAT=csv
于 2014-11-19T03:22:36.873 回答