私は私のコードのためにurllib2ライブラリを使用しています。私はたくさんの(urlopen)を使っています。EDIT:loadurl
ネットワーク上で問題が発生しました。サイトを閲覧しているときに、特定のWebサイトに「接続」しているときにブラウザが停止し、時にはブラウザがタイムアウトを返すことがあります
私の質問は、特定のWebサイトに長時間接続しようとするとタイムアウトする可能性があります。そうしないとコードがその行に固執します。
私は、urllib2がタイムアウトをコード上で指定することなく処理できることを知っていますが、このような状況に適用できますか?
御時間ありがとうございます
編集:
def checker(self)
try:
html = self.loadurl("MY URL HERE")
if self.ip_ != html:
(...)
except Exeption, error:
html = "bad"
回答:
回答№1は1私の小規模な研究から、 urllib2.urlopen()
関数がPython 2.6で追加されました
そのため、タイムアウトの問題は、カスタムタイムアウトを urllib2.urlopen
関数。コードは次のようになります。
response = urllib2.urlopen( "---insert url here---", None, your-timeout-value)
その your-timeout-value
パラメータは、秒単位のタイムアウトを定義するオプションのパラメータです。
編集:あなたのコメントによると、私はあなたがあまりにも長い時間を待つためのコードを必要としていないあなたはつまっていない次のコードを持っている必要があります。
import socket
import urllib2
socket.setdefaulttimeout(10)
10
接続速度とウェブサイトのローディング時間に関する数式に応じて変更することができます。