問題タブ [splash-js-render]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - Splash: スクリーンショットのメタデータをアイテムとして収集
私は、scrapy-splashを使用して、Web ページのスクリーンショットを作成し、いくつかのメタデータを含む png を出力しています。スクレイピーは、エンジンが実行するすべてのアクションをタイムスタンプなどでログに記録することを知っていますが、スパイダーでその情報にアクセスしてアイテムに渡す方法を理解するのに苦労しています。アドバイスやヒントをいただければ幸いです。
必要なメタデータ: 1) ターゲット サイトの IP。2) ページ読み込み時のタイムスタンプ (UTC)。3) ページキャプチャ時のタイムスタンプ (UTC)
python - Splash + Scrapoxy: x-cache-proxyname ヘッダーがありません
Web サイトをスクレイピングするために次のインフラストラクチャを使用しています。
次のようなLuaスクリプトを使用して、スプラッシュ実行エンドポイントを介してリクエストを行っています:
禁止を検出し、禁止されたプロキシを削除したい. Scrapoxyのドキュメントによると:
Scrapoxy は HTTP ヘッダーを応答に追加します
x-cache-proxyname
しかし、このヘッダーは に表示されませんresponse.headers
。唯一のヘッダーは次のとおりです。
私は何を間違っていますか?ヘッダーを正しく返すには、Lua スクリプトに何かを追加する必要がありますか?
更新:実際には、スプラッシュの問題ではないようです。HTTPie 経由で使用しても Scrapoxy が返されませんx-cache-proxyname
。
amazon-web-services - Scrapy + Splash は多くの 504 タイムアウト エラーを返します
Splash の FAQ に従ってプロダクション セットアップを行いましたが、私のシステムは現在次のようになっています。
- 6 つの同時実行リクエストを持つ 1 つの Scrapy コンテナー。
- コンテナをスプラッシュするために負荷分散する 1 つの HAProxy コンテナ
- それぞれ 3 つのスロットがある 2 つのスプラッシュ コンテナ。
以前はセットアップを監視していましたが、CPU使用docker stats
率が 7% を超えたり、メモリ使用率が 55% を超えたりすることはありません。
まだまだたくさん届きます
リクエストが成功するたびに、これらのタイムアウトが 6 ~ 7 回発生します。
スプラッシュ コンテナーのスロットと同時実行要求の量を変更して実験しました。また、HAProxy の背後にある単一のスプラッシュ コンテナーで実行してみました。これらのエラーが発生し続けます。
1 GB のメモリを持つ AWS EC2 t2.micro インスタンスで実行しています。
この問題は、まだスプラッシュ インスタンスがフラッディングされていることに関連していると思われます。Splash インスタンスの負荷を軽減するためのアドバイスはありますか? スロットと同時実行リクエストの適切な比率はありますか? リクエストをスロットリングする必要がありますか?