-1

私は単純なスクレーパーをコーディングしました。その仕事は、サイトのいくつかの異なるページに移動することです。いくつかの解析を行い、そうでなければ AJAX 経由で呼び出されるいくつかの URL を呼び出し、データをデータベースに保存します。

問題は、スクレイパーの実行後に IP がブロックされることがあるということです。IP がブロックされないようにするには、どのような手順を実行できますか? 推奨されるプラクティスはありますか? リクエスト間に 5 秒のギャップを追加しましたが、ほとんど効果がありません。サイトは中規模で (複数の URL をスクレイピングする必要があります)、インターネット接続が遅いため、スクリプトは 1 時間以上実行されます。より高速なネット接続 (ホスティング サービスなど) を使用すると効果がありますか?

基本的には、行儀の良いボットをコーディングしたいと考えています。

最後に、私は POST やスパムではありません。

編集: スクリプトを 4 ~ 5 の部分に分割し、1 日のさまざまな時間に実行すると思います。

4

3 に答える 3

2

ローテーション プロキシを使用することもできますが、それは適切に動作するボットではありません。サイトの robots.txt をご覧になりましたか?

于 2012-05-09T01:52:45.623 に答える
1

より礼儀正しくなるようにボットを作成します。つまり、すべてを順番に取得するのではなく、戦略的な場所に遅延を追加します。

于 2012-05-08T15:29:06.190 に答える
0

最初のステップとして、robots.txt に設定されているガイドラインに従うことをお勧めします。import.io や morph.io などのツールがあります。サーバー用のパッケージ/プラグインもあります。たとえば、X 線。スロットル、遅延、最大接続など、責任あるスクレーパーをすばやく作成するのに役立つオプションを持つ node.js。

于 2015-12-29T22:15:39.183 に答える