我查看了之前的类似问题,但只让自己更加困惑。
在Python 3.4中,我想从给定的URL读取一个HTML页面作为字符串。
在Perl中,我使用LWP::Simple的get()方法来实现此操作。
Matplotlib 1.3.1的一个示例中说:import urllib; u1=urllib.urlretrieve(url)
。但是,在python3中找不到urlretrieve
。
我尝试使用u1 = urllib.request.urlopen(url)
,它似乎获得了一个HTTPResponse
对象,但我无法打印它、获取它的长度或对它进行索引。
u1.body
不存在。我找不到关于python3中的HTTPResponse
的描述。
是否有一个属性在HTTPResponse
对象中会给我原始HTML页面的字节?
(其他问题中的无关内容包括urllib2
(在我的python中不存在),csv解析器等)
编辑:
我在之前的问题中找到了一些部分(大部分)完成工作的东西:
u2 = urllib.request.urlopen('http://finance.yahoo.com/q?s=aapl&ql=1')
for lines in u2.readlines():
print (lines)
我说“部分地”,因为我不想阅读单独的行,而只是一个很长的字符串。
我可以将这些行连接起来,但每个打印出来的行前都有一个字符“b”。
那是从哪里来的?
再次说明,我可以在连接之前删除第一个字符,但这样做确实有点笨拙。
HTTPResponse
对象的描述。 - martineau