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 に答える