使用urllib.open时出现Python错误

Ala*_*lan 25 python urllib

当我运行这个:

import urllib

feed = urllib.urlopen("http://www.yahoo.com")

print feed
Run Code Online (Sandbox Code Playgroud)

我在交互式窗口(PythonWin)中获得此输出:

<addinfourl at 48213968 whose fp = <socket._fileobject object at 0x02E14070>>
Run Code Online (Sandbox Code Playgroud)

我希望得到上述URL的来源.我知道这可以在其他计算机上工作(比如在学校的计算机),但这是在我的笔记本电脑上,我不知道这里有什么问题.另外,我根本不理解这个错误.这是什么意思?Addinfourl?FP?请帮忙.

Rex*_*exE 55

试试这个:

print feed.read()

请参阅此处的 Python文档.

  • addinfourl不是错误; 这是一个对象.你没有做错任何事.只需将"print feed"替换为"print feed.read()"即可获得HTML. (2认同)

Way*_*rts 17

urllib.urlopen实际上返回一个类文件对象,以便检索您需要使用的内容:

import urllib

feed = urllib.urlopen("http://www.yahoo.com")

print feed.read()
Run Code Online (Sandbox Code Playgroud)


hug*_*own 7

在python 3.0中:

import urllib
import urllib.request

fh = urllib.request.urlopen(url)
html = fh.read().decode("iso-8859-1")
fh.close()

print (html)
Run Code Online (Sandbox Code Playgroud)