什么是xpath?
- 路径表达式 在xml和html中进行导航
- 包含标准函数库
- 遵循w3c标准
xpth节点关系是什么?
- 父节点
- 子节点
- 兄弟节点
- 先辈节点
- 后代节点
xpth语法
- a 找所有a标签
- / article 找根元素article标签
- article/a 找所有属于article子标签的a标签
- //div 找根层级 下 所有div标签
- article//div 找article标签 下 所有div标签
- //@class 去所有标签中class属性值,src,href,id等属性
- a/@href 取所有a标签中href属性
xpath-谓法
- /article/div[1] 找article 子标签 的第一个div标签
- /article/div[last()] 找article目录下倒数一个div标签
- /article/div[last()-1] 找article目录下倒数第二个div标签
- //div[@lang] 找所有拥有lang属性的div标签
- //div[@lang=’eng’] 找所有lang=’eng 的div标签
- /div/* div标签下所有子标签
- //* 提取所有元素
- //div[@*] 提取div中有属性的标签
- /div/a | /div/p 提取div下所有a和p标签
如何获取抓取节点的值?
/text() 获得文本值
a['href'] 获取一个a节点的href属性值
xpath返回的对象可以继续xpath进行筛选
.extract() 返回data对应的数组值列表
对有多个属性的标签如何抓取?
[contains(@属性,属性值) ]