我的本地计算机上有一个正在运行的蜘蛛,它将项目写入本地postgres数据库。
我现在正试图在EC2实例上通过scrapyd运行相同的蜘蛛。这显然不起作用,因为代码(模型,管道,设置文件)引用我本地计算机上的数据库。
我应该采用哪些改编来实现这项工作?
答案 0 :(得分:1)
找到它,答案比我想象的要容易。在settings.py文件中,删除ITEM_PIPELINES和DATABASE的设置。删除后,在EC2上通过scrapyd部署项目。
默认情况下,项目现在将写为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