请在保管箱中下载文件,并将其另存为/tmp/target.html
。
在带有firebug的firefox中打开它以查看html结构。
很明显,target.html
中至少有10格。
现在,使用lxml.html解析target.html中的所有div元素。
python3
>>> import lxml.html
>>> doc=lxml.html.parse("/tmp/target.html")
>>> divs=doc.xpath("//div")
>>> len(divs)
4
获取结果4
,为什么用上面的代码无法解析那么多div?
target.html
中至少有10个div。
target.html
中的解析表也是如此。
target.html
中至少有9个表,请用firebug检查。
python3
>>> import lxml.html
>>> doc=lxml.html.parse("/tmp/target.html")
>>> tables=doc.xpath("//table")
>>> len(tables)
3
答案 0 :(得分:1)
感谢sideshowbarker。
sudo pip3 install html5lib
首先要使用pip安装html5lib。
import html5lib;
doc = html5lib.parse(open('/tmp/target.html', 'rb'), treebuilder='lxml', namespaceHTMLElements=False);
divs=doc.xpath('//div');
tables=doc.xpath('//table');
print(len(divs));
print(len(tables));