|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如下代码
- import urllib.request
- def open_url(url):
- W1 = urllib.request.Request(url)
- W1.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER')
- try:
- W2 = urllib.request.urlopen(W1,timeout=30)
- except Exception:
- print('timeout')
- W2=open_url(url)
- return W2
复制代码
第六行设置了timeout等于30
但偶尔还是引发了错误,使程序中断了,为什么这个错误没有被捕捉,怎么解决
下面是错误信息
Traceback (most recent call last):
File "C:\Program Files\Python35\document\new.py", line 111, in <module>
imageurl(pag)
File "C:\Program Files\Python35\document\new.py", line 72, in imageurl
save_image(u,nu)
File "C:\Program Files\Python35\document\newbeauty.py", line 83, in save_image
a.write(open_url(url).read())
File "C:\Program Files\Python35\lib\http\client.py", line 446, in read
s = self._safe_read(self.length)
File "C:\Program Files\Python35\lib\http\client.py", line 592, in _safe_read
chunk = self.fp.read(min(amt, MAXAMOUNT))
File "C:\Program Files\Python35\lib\socket.py", line 575, in readinto
return self._sock.recv_into(b)
socket.timeout: timed out |
|