2017-07-27 14 views
2

ウェブページからのデータのクロールに関する質問があります。一部のサイトではリクエストに制限があります。このような状況ではどうすればクロールできますか?制限付きウェブページのクロール

+0

「私はそれを行うのですかどのように、robots.txtファイルを回避したいですか?」答えは、「その制限は理由があります:Webクローラーを所属していない地域から守ることです」それがあなたの質問ではないなら、あなたは何をしたいのか、そしてなぜそれが必要かについてはっきりしている必要があります。あなたが行った研究とあなたが問題を解決しようとしたことを追加してください。 – JBH

答えて

3

セキュリティソリューションを使用しているWebページでは、新しいセッションを取得する際にtorを使用してIPアドレスを変更することができます。

https://www.torproject.org/

しかし、あなたが意味する場合、サイトはブラウザをシミュレートする「セレン」を使用することができ、あなたがそれらを生成することができないことをいくつかのトークンを持っています。何を求めていることである場合

http://www.seleniumhq.org/

+0

私はあなたを礼拝する!私の人生を救ったのはとても素晴らしかった.... <3 –

2

サイトをクロールすると、サイトへのリクエストが多すぎるため、料金が制限されることがあります。たとえば、別の要求をする前に、私のサイトであなたをブロックすることがあります。これらの制限は、サイトと要求の回数と頻度に応じて変わります。

これらの制限を回避する方法の1つは、言語スリープメソッドを使用してリクエストを少し待つことです。 Pythonでは、これはtime.sleep(10)です。

まだブロックされている場合は、再試行期間を増やして禁止時間を調整できます。たとえば、5秒間待ってからもう一度やり直す(ブロックする)、10秒待ってからもう一度やり直す(ブロックする)、20秒待ってからもう一度やり直す(ブロックする)、40秒待つあきらめたいと思う限界に達するか、サーバーが要求をうまくやり遂げることができるようになるまで、それを続けます。これは、HTMLファイル内のタグを選択するためのCSS-セレクタを使用しています

https://scrapy.org/

:あなたは "断片的" と呼ばれる人気のPythonのフレームワークを使用することができ、簡単なウェブスクラップ用