スクレイピングの前に、Docker localhost:8050 で実行されるスプラッシュを使用して JavaScript をレンダリングするスクレイピー スパイダーがあります。これをherokuで実行しようとしていますが、ウェブを実行する前にドッカーを起動してスプラッシュを実行するようにherokuを構成する方法がわかりません: どんなガイドでも大歓迎です!
1651 次
2 に答える
6
私が収集したものから、あなたが期待していること:
- Docker コンテナーを介して Heroku で実行されるスプラッシュ インスタンス
- Heroku dyno で実行されている Web アプリケーション (Scrapy スパイダー)
スプラッシュ インスタンス
docker
CLI とheroku
CLI をインストールできることを確認します- Heroku のContainer Registry - Pushing existing image(s)に見られるように:
docker
CLI とheroku
CLI がインストールされていることを確認するheroku container:login
docker tag scrapinghub/splash registry.heroku.com/<app-name>/web
docker push registry.heroku.com/<app-name>/web
- アプリケーションをテストするには:
heroku open -a <app-name>
. これにより、このアプリ名の Heroku ホストのポート 8050 で Splash UI を表示できるようになります。- docker 構成が
$PORT
考慮されていないため、適切に設定する必要がある場合があります ( https://devcenter.heroku.com/articles/container-registry-and-runtime#dockerfile-commands-and-runtime ) 。EXPOSE
- docker 構成が
Dyno Scrapy Web アプリの実行
- を指すようにアプリケーションを構成します
<app-host-name>:8050
。そして、Scrapy スパイダーは、以前に実行された Splash インスタンスにリクエストできるようになりました。
于 2017-09-06T06:20:24.307 に答える