我想解析一个网页以检索有关它的一些信息(我的确切问题是检索此列表中的所有项目:http: //www.computerhope.com/vdef.htm)。
但是,我不知道该怎么做。
互联网上的很多教程都是从这个开始的(简化的):
html5lib.parse(urlopen("http://www.computerhope.com/vdef.htm"))
但在那之后,没有任何教程解释我如何浏览文档并找到我正在寻找的 html 部分。
其他一些教程解释了如何做到这一点,CSSSelector
但同样,所有教程都不是以网页开头,而是以字符串开头(例如:http: //lxml.de/cssselect.html)。
因此,我尝试使用此网页创建一棵树:
fromstring(urlopen("http://www.computerhope.com/vdef.htm").read())
但出现此错误:
lxml.etree.XMLSyntaxError: Specification mandate value for attribute itemscope, line 3, column 28
。此错误是由于存在未指定的属性(例如<input attribute></input>
),但由于我无法控制网页,因此无法绕过它。
所以这里有几个问题可以解决我的问题:
- 如何浏览树?
- 有没有办法让解析器不那么严格?
谢谢 !