25

当我运行这个:

import urllib

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

print feed

我在交互式窗口(PythonWin)中得到这个输出:

<addinfourl at 48213968 whose fp = <socket._fileobject object at 0x02E14070>>

我期待获得上述 URL 的来源。我知道这在其他计算机(比如学校的计算机)上也有效,但这是在我的笔记本电脑上,我不确定这里有什么问题。另外,我根本不理解这个错误。这是什么意思?添加信息?fp? 请帮忙。

4

3 回答 3

55

尝试这个:

print feed.read()

在此处查看 Python 文档。

于 2009-03-01T20:00:08.600 回答
17

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

import urllib

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

print feed.read()
于 2009-03-01T20:00:35.120 回答
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)
于 2009-03-01T22:11:58.830 回答