lxml:将网页源转换为元素树进行抓取

时间:2013-01-12 22:21:57

标签: web-scraping lxml

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

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

我做

from lxml import etree

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

然后是什么?顺便说一下,如果有帮助的话,我可以把源变成unicode。

1 个答案:

答案 0 :(得分:1)

您必须使用lxml.html package,一个专用的lxml软件包来处理HTML - 详细信息请参见Chapter 13 of the documentation。顺便提一下,该软件包基于lxml的HTML解析器。

<强>插图

from lxml import etree, html

htmltree = html.parse(url)

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

此外,您可能需要转到hereherehere,以了解其他人如何利用该软件包。

相关问题