python 使用urllib.urlopen超時問題的解決方法


准備寫一個python腳本抓取網頁數據,前面抓了幾個都沒有什么問題,但總會抓取不完整,在中間過程中沒有反應,發現執行urlopen的地方總是提示超時,百度了一下,因為我使用的是urllib不是urllib2,所以無法直接在urlopen里面加timeout參數,只能是設置全局腳本的超時時間

首先:
import socket

然后:
socket.setdefaulttimeout(60)

設置全局的超時時間為60s。

之后再執行腳本的時候就沒有什么大問題了。

 

當然,如果是urllib2就更簡單,而且現實中,urllib,urllib2常會一起使用(兩者分別提供不同的功能)

html = urllib.urlopen(url).read()
修改為
import urllib2
html = urllib2.urlopen(url, timeout=60).read()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM