まず、私の問題はthis oneと非常に似ています。私はurllib.urlopen()のタイムアウトが私が処理できる例外を生成するようにしたいと思います。Python 3でurllibのタイムアウトを処理する方法は?
URLErrorに該当しませんか?
try:
response = urllib.request.urlopen(url, timeout=10).read().decode('utf-8')
except (HTTPError, URLError) as error:
logging.error(
'Data of %s not retrieved because %s\nURL: %s', name, error, url)
else:
logging.info('Access successful.')
エラーメッセージ:
RESP = urllib.request.urlopen(REQ、タイムアウト= 10).read()( 'UTF-8')を復号
ファイル「の/ usr。 /lib/python3.2/urllib/request.py "、138行目、urlopen
return opener.open(url、data、timeout)
ファイル" /usr/lib/python3.2/urllib/request.py "、行369、オープン中
レスポンス= self._open(req、data)
ファイル" /usr/lib/python3.2/urllib/request.py "、387行目、_open
'_open'、req)
ファイル" /usr/lib/python3.2/urllib/request.py "、行347、http_open
で_call_chainで
結果= funcを(*引数)
ファイル "/usr/lib/python3.2/urllib/request.py"、ライン1156、リターンself.do_open(http.client.HTTPConnection do_open
R = h.getresponseにおいて、REQ)
ファイル "/usr/lib/python3.2/urllib/request.py"、ライン1141()
ファイル「/usr/lib/python3.2/ http/client.py "、行1046、getresponse
sponse.begin()
ファイル "/usr/lib/python3.2/http/client.py"、ライン346は、内
バージョン、ステータス、理由= self._read_status()
ファイル「は/ usrを/開始します_read_statusの行308、
行= str(self.fp.readline(_MAXLINE + 1)、 "iso-8859-1")
ファイル "/ usr/lib/python3.2/http/client.py" readinto
戻りself._sock.recv_into内のlib/python3.2/socket.py」、ライン276は、(b)は
socket.timeout:主要な茶がありました
タイムアウトになりましたPython 3でurllib
とurllib2
のモジュールをurllib
に再編成したときのngeこれが原因で変化が起こった可能性はありますか?
例外タイプを見つける簡単な方法は '例外としてe:print(type(e))' 。例外を再現できると仮定します。 – polvoazul