Xpath
-
相对于其他的方法,我更加的喜欢这种方法,因为更加的方便
-
官网 : http://lxml.de/index.html
-
w3c :http://www.w3school.com.cn/xpath/index.asp
-
xpath 是一门在XML文档中查找信息的语言,
-
是以节点来表达关系的
- 父(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节点