このコードは正常に動作し、htmlを読み込んでいました。 その後、サイトはread()のデータの提供を停止しました。エラーコードはありません。は、Pythonでurllib2を使用しています。サーバーによって検出され拒否されている
Webサーバーが異常な何かを検出したためです。 (私はユーザエージェントを設定する前にエラー403:悪い振舞いを持っていた)
フラグを立てるような顕著なシグネチャがありますか? 別のライブラリに切り替えるのが助かりますか?
私は疑わしいことはしていません。このライブラリを使ってページを読んだり、lynxブラウザを使ったりしても、私の動作に違いは見られません。あなたのprint文を考える
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
search_url='http://www.google.com/?search=stackoverflow"'
raw = opener.open(search_url)
print raw.headers
print raw.read()
多くのリクエストをすばやく送信していますか?サイトによってはそれを検出することができます。 –
Googleは、多数のリクエストをすばやく連続して行っている場合は、結果を提供することを拒否しますが、通常、その場合はエラーページを提供していたと思います。 'ヘッダー 'も空ですか? –
robots.txtを尊重することを検討しましたか? – geoffspear