赞
踩
经过一番研究以后才发现原来libxml2其实已经内置了对HTML的解析——即使是不很规范的HTML。所以上篇《xpath在XHTML解析中的应用 》完全是我学艺不精的产物。囧
不过好处是顺便学习到了j7a7c7k7 兄推荐的tidy(用的是令狐提供的µTidylib ),这也是个好东东。
现在来看如何直接使用lxml(即前文说过的libxml2的一个python binding)处理那个样本“页面 ”:
import codecs
from lxml import etree
f=codecs.open("raptor.htm","r","utf-8")
content=f.read()
f.close()
tree=etree.HTML(content)
Bingo!果然成功。关键就在于etree提供了HTML这个解析函数。之后的事情就好办多了,因为可以直接对HTML使用xpath。
不过这个样本页面中要解析的部分有一个问题就是:那个ul节点没有id,所以只好麻烦一点了。
完整的xpath应该是这样写的(注意,原文件中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。