私がしようとしているのは、Python を使用して Google Custom Search API を介して画像をダウンロードすることです。これは初めてのことですが、Python で例外をキャッチする際に平凡なエラーが発生している可能性があります。
10054 Connection Reset By Peer ではないエラーが発生した場合でも、すべて正常に動作します。コードは次のようなものです。役に立たない部分を取り除いただけです。
try:
urllib.request.urlretrieve(myUrl['link'],str(count)+'.jpg')
except URLError as e:
print(e.reason)
接続がピアによってリセットされ、コンソールにこのエラーが表示されることがあります。
urllib.request.urlretrieve(myUrl['link'],str(count)+'.jpg')
File "C:\Python33\lib\urllib\request.py", line 210, in urlretrieve
block = fp.read(bs)
File "C:\Python33\lib\http\client.py", line 503, in read
return super(HTTPResponse, self).read(amt)
File "C:\Python33\lib\http\client.py", line 542, in readinto
n = self.fp.readinto(b)
File "C:\Python33\lib\socket.py", line 297, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
Press any key to continue . . .
今はその URL を機能させることにあまり関心がありませんが、ループを停止せずに継続したいだけです。どうすればその例外をキャッチできますか?
編集:
また、コードがエラーを正しくキャッチし、ループを停止せずにprint(e.reason)
正しく出力する場合があることにも気付きました。[WinError 10054]
それは非常に奇妙です。