3

我有脚本女巫从网站获取数据。首先,我用 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 有什么区别?

4

0 回答 0