11

スクレイピーでいくつかのスパイダーを開発しましたが、それらを Heroku クラウドでテストしたいと考えています。Heroku クラウドに Scrapy スパイダーをデプロイする方法を知っている人はいますか?

4

1 に答える 1

13

はい、Scrapy スパイダーを Heroku にデプロイして実行するのはかなり簡単です。

例として、実際の Scrapy プロジェクトを使用した手順を次に示します。

  1. requirements.txtプロジェクトのクローンを作成します ( Heroku が Python プロジェクトとして認識するためのファイルが必要であることに注意してください)。

    git clone https://github.com/scrapinghub/testspiders.git

  2. cffi を requirements.txt ファイルに追加します (例: cffi==1.1.0)。

  3. Heroku アプリケーションを作成します (これにより、新しい heroku git リモートが追加されます)。

    heroku create

  4. プロジェクトをデプロイします (最初はスラッグをビルドするときは時間がかかります)。

    git push heroku main

  5. スパイダーを実行します。

    heroku run scrapy crawl followall

いくつかのメモ:

  • Heroku ディスクはエフェメラルです。スクレイピングしたデータを永続的な場所に保存する場合は、S3 フィード エクスポートを使用するか ( を追加して-o s3://mybucket/items.jl)、アドオン (MongoHQ や Redis To Go など) を使用してパイプラインを作成し、そこにアイテムを保存します。
  • Heroku で Scrapyd サーバーを実行するのはクールですが、sqlite3(Scrapyd が必要とする) モジュールが Heroku で動作しないため、現時点では実行できません。
  • Scrapy スパイダーをデプロイするためのより洗練されたソリューションが必要な場合は、独自のScrapyd サーバーをセットアップするか、 Scrapy Cloudのようなホストされたサービスを使用することを検討してください
于 2012-10-18T21:58:44.433 に答える