urllib2 连接超时错误
我正在尝试用urllib2打开一个网页,但总是遇到连接超时的错误。
我使用的代码是:
f = urllib2.urlopen(url)
具体的错误信息是:
URLError: <urlopen error [Errno 110] Connection timed out>
2 个回答
1
作为一个通用的策略,你可以打开Wireshark这个工具,观察一下通过urllib2.urlopen(url)
这个代码产生的网络流量。这样你可能就能找到错误的来源。
4
urllib2
会遵循网站的 robots.txt 文件。很多网站会阻止默认的 User-Agent
。
你可以尝试添加一个新的 User-Agent
,方法是创建 Request
对象,并把它们作为参数传给 urlopen
:
import urllib2
request = urllib2.Request('http://www.example.com/')
request.add_header('User-agent', 'Mozilla/5.0 (Linux i686)')
response = urllib2.urlopen(request)
网上有很多详细的教程,比如这个:http://www.doughellmann.com/PyMOTW/urllib2/