gpt4 book ai didi

python - Urlopen [错误-2] Python

转载 作者:行者123 更新时间:2023-12-01 05:38:32 24 4
gpt4 key购买 nike

我开发了一部分代码,我从网络抓取中使用它:

link = 'http://www.cmegroup.com'+div.findAll('a')[3]['href']
user_agent = 'Mozilla/5.0'
headers = {'User-Agent':user_agent}
req = urllib2.Request(link, headers=headers)
page = urllib2.urlopen(req).read()

但是我不明白的是有时我在请求链接时遇到错误。但有时,我不这样做。例如错误:

urllib2.URLError: <urlopen error [Errno -2] Name or service not known>

出来这个链接:

http://www.cmegroup.com/trading/energy/refined-products/mini-european-naphtha-platts-cif-nwe-swap-futures_product_calendar_futures.html

当我重新运行代码时,我不会再收到此链接的错误,但会收到其他链接的错误。这可能是由于无线连接造成的吗?

最佳答案

这看起来像是 DNS 或网络问题。如果您对同一个 URL 多次运行相同的代码,并且有时有效,但有时无效,则问题可能不在于您的代码。

要调试该问题,您可以在该语句周围执行 try- except block ,并从那里启动 pdb 或 ipdb(如果已安装):

try:
response = urllib2.urlopen(req)
except urllib2.URLError as ex:
import pdb; pdb.set_trace() # Use ipdb if installed
else:
page = response.read()

然后您可以查看响应、状态代码、异常跟踪等...

(作为旁注,如果外部依赖项不是问题,我强烈建议使用 requests 包而不是 urllib2。)

关于python - Urlopen [错误-2] Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18273051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com