每次尝试运行程序时都会保持同样的效果,urllib
未定义。我该如何摆脱它?
from urllib.request import urlopen
from urllib.error import HTTPError
aname = 'http://website.com'
try:
htm = urlopen(aname + '/').read()
except urllib.error.HTTPError as e:
print(e)
是的,我确实有另一个问题,我当然希望我能弄清楚,我无法正确安装bs4
,它一直试图安装到Python 2.7,我没有任何问题安装了2.7解释器,计算机上只安装了3.4.3。我有一种奇怪的感觉,可能会导致我的一些其他问题以及其他一些程序。
答案 0 :(得分:1)
仅仅因为您有from urllib.error import HTTPError
行或from urllib.request import urlopen
不意味着urrlib
可用作您脚本中的名称。< / p>
这是在from
表格中专门指定的in the documentation for the import
语句;看那里的例子,看看有什么可用,什么没有。
因此,当你except
时:
except urllib.error.HTTPError as e:
尝试查找名称urrlib
时失败。在HTTPError
子句中,只需使用导入并绑定到命名空间的except
:
except HTTPError as e:
或者,如果您需要您的命名空间中urllib
的名称,import urllib
而不是from urllib.error import HTTPError
,并使用原始的except
子句
至于安装问题,请尝试使用pip3
代替pip
。