Xpath简介
xpath是在xml文档中查找信息的语言
安装:xpath依赖于lxml库,因此需安装lxml库
pip install lxml
应用方法:
通过定义xpath路径表达式选取文档中节点及节点内容
Xpath节点
节点之间的关系:
父节点:每个元素以及属性都有一个父节点
子节点:每个元素可以有0个、1个或多个子节点
同胞节点:拥有相同父节点的节点
先辈节点:某节点的父、父父等节点
后代节点:某节点的子、子子等节点
Xpath语法
节点选取
1、nodename:选取此节点的所有子节点
2、/:从根节点选取(绝对路径)
3、//:从当前节点选择文档中的子节点,从任意位置查找
4、. :选取当前节点 例: ./从根节点开始选取
5、 … :选取当前节点的父节点
6、 @ : 选取属性
谓语:用来查找某个特定的节点或者包含某个指定的值的节点,谓语放在方括号中
【number】:查找选取元素的第number个元素
【last()】:查找选取元素的最后一个元素
【last()-1】:查找选取元素的倒数第二个元素
【position()❤️】:查找选取元素的前面两个元素
【@属性名】:查找选取元素中拥有“属性名”的元素
【@属性名=‘属性值’】:查找选取元素中“属性名=‘属性值’”的元素
通配符
:匹配任何节点
例:
xpath(‘’):查找到head与body,同xpath(‘./’)
xpath(‘/’):查找到html,同xpath(‘…/’)
xpath(‘//’):查找到所有节点,同xpath(‘…//’)
@:匹配任何属性节点
xpath(‘//@*’):查找所有属性的属性值)
xpath使用步骤
1.导入模块
from lxml import etree
2.将xpath格式转换为字典
html = etree.parse(“xpathtest.html”)
3.解析数据
res = html.xpath("//div/text()")
4.打印输出
print(res)