2017-03-03 15 views
-1

私はいくつかのアマゾンのURLからデータを削っていますが、もちろん時々私はcaptchaを取得します。私は有効/無効にするオプションがこれのいずれかと関係しているのだろうかと思っていた。私はクロール中に約15のプロキシを回転させます。クリーンなページのsettings.pyでクッキーを有効または無効にする必要がありますか、それとも不安ですか?Scrapy - クロール中にクッキーを有効にする必要があります

ウェブサイトを有効にすると、IPの動作履歴がわかり、ある時点でパターンに気付き、許可されなくなりました(これは私の推測なのです)。またはこれはクッキーがどのように動作するのか、それが何であるかについては真実ではありません

答えて

1

どのようにこれらの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ファイルを確認して、クロールが許可されているかどうかを確認します。
+0

私はscrapyを使用しています。私は自分のユーザーエージェントを偽装しています。 Cookieを有効/無効にしたり、settings.pyでどのようにすればいいのか分かりません。 –

+0

私の編集を参照してください。これは、Webページをクロールしている速度が原因である可能性があります。 – Thomas

関連する問題