10

私はPythonWebクローラーを持っており、ダウンロード要求を多くの異なるプロキシサーバーに分散させたいと考えています。おそらく、squidを実行しています(他の方法もありますが)。たとえば、request1がproxy1に移動し、request2がproxy2に移動し、最終的にループバックするラウンドロビン方式で機能する可能性があります。これを設定する方法はありますか?

さらに難しくするために、使用可能なプロキシのリストを動的に変更したり、一部を停止したり、他のプロキシを追加したりできるようにしたいと思います。

重要な場合は、IPアドレスが動的に割り当てられます。

ありがとう :)

4

3 に答える 3

13

HAProxy +DeleGate+複数のTorインスタンスを使用してローテーションプロキシを設定しました。Torを使用すると、帯域幅と遅延を適切に制御できませんが、Webスクレイピングには役立ちます。このテーマに関する記事を公開しました:独自の匿名回転プロキシの実行

于 2011-12-23T03:46:07.153 に答える
6

クローラーにプロキシーのリストを持たせ、各 HTTP 要求でリストから次のプロキシーをラウンドロビン方式で使用できるようにします。ただし、これにより、HTTP/1.1 永続接続を使用できなくなります。プロキシ リストを変更すると、最終的に新しいプロキシが使用されるか、プロキシが使用されなくなります。

または、プロキシごとに 1 つずつ、複数の接続を並行して開き、クロール要求を開いている接続のそれぞれに分散させます。ダイナミクスは、コネクター自体を要求ディスパッチャーに登録することによって実装できます。

于 2009-12-19T21:30:18.793 に答える
1

編集: gimmeproxy 用の Python ラッパーもあります: https://github.com/ercfourrier/gimmeproxy-api

ノードを気にしない場合は、proxy-listsを使用してパブリック プロキシを収集し、check-proxyを使用してそれらをチェックできます。それはまさにhttps://gimmeproxy.comの仕組みです。詳細はこちら

于 2017-08-15T19:09:14.937 に答える