どのようにこれらのURLにアクセスしていますか、urllibライブラリを使用していますか?もしそうなら、気づいていないかもしれませんが、urllibにはデフォルトのユーザエージェントがあります。ユーザーエージェントは、HTTP要求の一部(ヘッダーに格納されている)で、ページにアクセスするために使用したソフトウェアの種類を識別します。これにより、ウェブサイトはさまざまなブラウザでコンテンツを正しく表示できますが、自動化されたプログラムを使用しているかどうかを判断するのにも使用できます(ボットが好きではありません)。
デフォルトのurllibユーザーエージェントは、あなたがページにアクセスするためにpythonを使用しているWebサイトに指示します(通常は大きなno-noです)。ユーザエージェントを偽装して、厄介なキャプチャコードが表示されないようにすることができます。
headers = { 'User-Agent' : 'Mozilla/5.0' }
req = urllib2.Request('www.example.com', None, headers)
html = urllib2.urlopen(req).read()
ウェブページをクロールするためにscrapyを使用しているため、そこにユーザエージェントを変更できるようにsettings.pyファイルを変更する必要があります。あなたがウェブサイトを通じてあまりにも速く移動しているので、
EDIT理由captchaのは、すべての場所で表示されることがあります
他の理由があります。あなたの間の睡眠の呼び出しを追加する場合、これはあなたのcaptchaの問題を解決するかもしれない!キャプチャの登場のため
その他の理由:
- あなたはクローラをキャッチするために設計されたハニーポットのリンク(HTMLコード内にあるが、Webページに表示されていないリンク)をクリックするとされています。
- クロールのパターンを変更する必要がある場合があります。「非人為的」と表示される可能性があります。
- robots.txtファイルを確認して、クロールが許可されているかどうかを確認します。
私はscrapyを使用しています。私は自分のユーザーエージェントを偽装しています。 Cookieを有効/無効にしたり、settings.pyでどのようにすればいいのか分かりません。 –
私の編集を参照してください。これは、Webページをクロールしている速度が原因である可能性があります。 – Thomas