为什么以下python代码会抛出异常?
import urllib
htmlfile=urllib.urlopen("http://google.com")
htmltext=htmlfile.read()
print (htmltext)
回溯
Traceback (most recent call last):
File "C:/Users/dhfur/Desktop/webcrawl1.py", line 3, in <module>
htmlfile=urllib.urlopen("http://google.com")
AttributeError: 'module' object has no attribute 'urlopen'
答案 0 :(得分:2)
因为功能已移至urllib.request
module:
import urllib.request
htmlfile=urllib.request.urlopen("http://google.com")
很多东西都是从之前的Python 2位置移植到Python 3中的。 Python 2文档通常命名新位置; urllib
documentation page也不例外:
注意:
urllib
模块已拆分为多个部分,并在Python 3中重命名为urllib.request
,urllib.parse
和urllib.error
。将源代码转换为Python 3时, 2to3 工具将自动调整导入。另请注意,Python 3中的urllib.request.urlopen()
函数等同于urllib2.urlopen()
和urllib.urlopen()
已被删除。
Python 3 documentation page for urllib
命名命名空间下的所有新模块。