xpath模块解析
Xpath是一门在 XML 文档中查找信息的语言。 Xpath可用来在 XML文档中对元素和属性进行遍历。而我们熟知的HTML恰巧属于XML的一个子集。所以完全可以用xpath去查找html中的内容。
一、安装lxml模块
pip install lxml
用法:1、将要解析的html内容构造出etree对象。
2、使用etree对象的xpath方法配合xpath表达式来完成对数据的提取。
简单案例:
from lxml import etree
xml=‘‘‘
<book>
<id>1</id>
<name>野花遍地?</name>
<price>1.23</price>
<nick>臭?腐</nick>
<author>
<nick id="10086">周?强</nick>
<nick id="10010">周芷若</nick>
<nick class="joy">周杰伦</nick>
<nick class="jolin">蔡依林</nick>
<div>
<nick>热了</nick>
</div>
<span>
<nick>热了哦</nick>
</span>
</author>
<partner>
<nick id="ppc">胖胖陈</nick>
<nick id="ppbc">胖胖不陈</nick>
</partner>
</book>
‘‘‘
tree=etree.XML(xml)
res=tree.xpath(‘/book/name/text()‘) #text() 拿文本
print(res)
# [‘野花遍地?‘]
res=tree.xpath(‘/book/author/nick/text()‘)
print(res)
# [‘周?强‘, ‘周芷若‘, ‘周杰伦‘, ‘蔡依林‘]
res=tree.xpath(‘/book/author//nick/text()‘) # // 后代
print(res)
# [‘周?强‘, ‘周芷若‘, ‘周杰伦‘, ‘蔡依林‘, ‘热了‘, ‘热了哦‘]
res=tree.xpath(‘/book/author/*/nick/text()‘) # * 任意一个节点
print(res)
# [‘热了‘, ‘热了哦‘]
原文:https://www.cnblogs.com/shixiaoxun/p/14612047.html