我有脚本女巫从网站获取数据。首先,我用 2.7 python 及其作品编写了它。当我将其重写为 python3 时,我遇到了问题。在 python2.7 中工作正常
for x in xrange(len(ll.string2)-1):
psR = urllib2.urlopen(ll.string2[x]).read()
nrL = Przystanek()
nrL.feed(psR)
self.BusExtData += nrL.string2
蟒蛇3
for x in range(len(ll.string2)-1):
psR = urllib.request.urlopen(ll.string2[x],timeout=3000).read().decode('iso-8859-2')
nrL = Przystanek()
nrL.feed(psR)
self.BusExtData += nrL.string2
上层代码产生超时错误。
i = 0
while i<(len(ll.string2)-1):
try:
psR = urllib.request.urlopen(ll.string2[i],timeout=3000).read().decode('iso-8859-2')
nrL = Przystanek()
nrL.feed(psR)
self.BusExtData += nrL.string2
i=i+1
except:
print("Error")
i=i-1
pass
我用大写避免了这个问题。但我不知道为什么 urllib2.urlopen 不会产生超时错误。当我使用 urllib.request.urlopen 时,我收到此错误消息:
urllib.error.URLError:urlopen 错误超时
或者
urllib.error.URLError:urlopen 错误超时 [WinError 10060]
urllib2.urlopen 和 urllib.request.urlopen 有什么区别?