Xpath

  1. 相对于其他的方法,我更加的喜欢这种方法,因为更加的方便

  2. 官网 : http://lxml.de/index.html

  3. w3c :http://www.w3school.com.cn/xpath/index.asp

  4. xpath 是一门在XML文档中查找信息的语言,

  5. 是以节点来表达关系的

  • 父(Parent)
  • 子(Children)
  • 同胞(Sibling)
  • 先辈(Ancestor)
  • 后代(Descendant)

想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!

选取节点

常用的路径表达式

表达式描述
nodename选取此节点的所有子节点
/从根节点选取
//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
.选取当前节点
选取当前节点的父节点
@选取属性

通配符

XPath 通配符可用来选取未知的 XML 元素。

通配符描述举例结果
*匹配任何元素节点xpath(‘div/*’)获取div下的所有子节点
@*匹配任何属性节点xpath(‘div[@*]’)选取所有带属性的div节点
node()匹配任何类型的节点  

选取若干路径

通过在路径表达式中使用“|”运算符,您可以选取若干个路径

表达式结果
xpath(’//div|//table’)获取所有的div与table节点

谓语

谓语被嵌在方括号内,用来查找某个特定的节点或包含某个制定的值的节点

表达式结果
xpath(’/body/div[1]’)选取body下的第一个div节点
xpath(’/body/div[last()]’)选取body下最后一个div节点
xpath(’/body/div[last()-1]’)选取body下倒数第二个节点
xpath(’/body/div[positon()< 3]’)选取body下前个div节点
xpath(’/body/div[@class]’)选取body下带有class属性的div节点
xpath(’/body/div[@class=“main”]’)选取body下class属性为main的div节点
xpath(’/body/div[price>35.00]’)选取body下price元素大于35的div节点

本文转载:CSDN博客