我正在编写一个程序,其中第一步采用URL
地址并打开页面。然后它将内容放入xml.dom.minidom
解析器:
from xml.dom.minidom import parse
page = urllib2.urlopen(page_url)
parser = parse(page)
问题是很多页面都有不匹配的标签和特殊字符,因此解析方法会引发错误。如果有<br>
而不是<br />
...
我试过这样:
from xml.dom.minidom import parseString
page = urllib2.urlopen(page_url)
data = ""
for line in page.readlines():
data += str(line.replace("<br>", "<br />").replace(OTHER).replace...)
parser = parse(data)
但是,这不是一个好的解决方案。
那么,有没有对不匹配的标签和html代码中的其他错误不敏感的lib?
答案 0 :(得分:2)
我更喜欢lxml.html
,它非常强大,而且lxml
通常非常快且具有非常好的功能,包括XPath support。
import lxml.html
doc = lxml.html.parse('http://example.com')