urllib2 を使ってwww.amazon.comから商品情報をクロールするウェブクローラーを書いたのですが、 Amazonは各 IP の接続を 1 つに制限しているようです。
同時にクロールする複数のスレッドを開始すると、 が発生しHTTP Error 503: Service Temporarily Unavailable
ます。より多くのスレッドを開始して高速にクロールしたいのですが、このエラーを修正するにはどうすればよいですか?
urllib2 を使ってwww.amazon.comから商品情報をクロールするウェブクローラーを書いたのですが、 Amazonは各 IP の接続を 1 つに制限しているようです。
同時にクロールする複数のスレッドを開始すると、 が発生しHTTP Error 503: Service Temporarily Unavailable
ます。より多くのスレッドを開始して高速にクロールしたいのですが、このエラーを修正するにはどうすればよいですか?
短いバージョン: できません。試すのも悪い考えです。
python requestsモジュールを使用して、プロキシ IP 経由で接続します。コードは次のようになります
import requests
proxies = {
"http": "<an HTTP proxy IP>",
"https": "<an HTTPS proxy IP>"
}
response = requests.get("http://your_url.com", proxies=proxies)
ここから HTTP および HTTPS プロキシ IP を取得できるはずです。詳細については、これを 参照してください。
おそらく、製品クエリに Amazon API を使用するように切り替える必要があります。