2

特定のサイトをクロールする予定です。数か月に1回クロールしたい3000の特定のページがあります。クローラーを作成しましたが、サイトから禁止されたくありません。

クローラーの攻撃性を軽減したり、何らかの方法でクローラーを非表示にして、クロールしているプロバイダー/ Webサイトに「気づかれない」、または問題を引き起こさないようにする方法はありますか?

遅延は可能ですが、ページごとにランダムに10〜30秒の遅延に設定すると、永久に時間がかかります。

許容できるクローラーを作成するためのヒントやガイドラインはありますか?

4

2 に答える 2

1

もう1つの解決策は、PROXYサーバープロバイダーたとえば、このようなもの)を使用し、 XリクエストごとにIPアドレスをローテーションすることです。この特定のプロバイダーには、その場で IP を取得するためのAPIがあります。PHPについて言えば、cURLはこの目的に簡単に使用できます。

この手法はほとんどの場合に機能しますが、もう少し計画と調整が必要です。とにかく、いくつかの制限に直面します。時間の問題とほぼ同じ問題である期間あたりのリクエスト数と同様に、時間の問題である可能性があります。または、時間要件を満たすためにプロキシ サーバーを追加する必要があります。

そして、プロバイダーのTOSを注意深く読んでください。この特定のプロバイダーでは、Google やその他のサイトから禁止されることはありません。そうしないと、アカウントも禁止されます。

于 2012-12-25T13:52:52.507 に答える
0

「許容できる」は相対的な用語です。一部のサイト所有者は、1時間あたり3000ページをスキャンすることが「積極的」であるとは思わないほど、十分な処理能力と帯域幅を持っています。一部のサイト所有者は、帯域幅や処理能力に苦労しており、1日あたり3000ページの読み取りに追いつくことができません。

ページを読んで現在のコンテンツを取得したい場合は、ページを読む必要があります。それへの近道はありません。

于 2012-12-25T12:48:05.703 に答える