1

我错过了什么 - lxml 可用于抓取网页,对吗?我的意思是,即使是那些没有完美 html 的?我正在使用 BeautifulSoup,但我希望更快。

我发誓我阅读了文档,但我只是没有看到如何将网页源变成一棵树。我读到的所有内容都是关于从头开始创建树的,一次一个元素。

我愿意

from lxml import etree

url = urllib2.urlopen(url)
source = url.read()

然后什么?顺便说一句,如果有帮助,我可以将源代码转换为 unicode。

4

1 回答 1

1

您必须使用lxml.htmlpackagelxml ,这是一个处理 HTML的专用包——它在文档的第 13 章中有详细说明。顺便说一下,这个包是基于 lxml 的 HTML 解析器的。

插图

from lxml import etree, html

htmltree = html.parse(url)

print(etree.tostring(htmltree, pretty_print=True))

此外,您可能想去这里这里这里了解其他人如何利用该包。

于 2013-01-13T12:41:48.857 回答