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