爬虫利器 xpath 实践案例
xpath
.表示当前//表示当前标签下的所有标签
注: 要配合使用/@匹配某标签的属性值: /@属性名称获取弟节点-
following-sibling::获取兄弟节点-
preceding-sibling::获取父节点-
parent::排除某个class属性标签
[not(contains(@class, "disabled"))]排除某个标签
[name(.)!="a"]忽略xpath中的第一个和最后一个元素
[position()> 1] 和 [position()< last()]多标签分隔字符串查找
text()=" 楼" and text()="栋"and text()="数: "]排除有class属性标签
//tbody/tr[not(@class)]去除字符串空格换行
normalize-space()模糊查找标签内容字符保护层的元素
//div[@class="tr-line clearfix"]/div/div[contains(text(),"层")]/text()匹配包含多个属性的标签:
and
匹配所有的tr中不包含 tbhead 属性 和包含 head 的tr标签
xpath(’//table/tr[not(@class=“tbhead”) and @class=“head”]’)
- 获取a标签最后一个元素
a[last()] - 在一个xpath中写的多个表达式用 | 分开, 每个表达式互不干扰。
例:xpath("//tr[6]/td[2]/text() | //tr[7]/td[2]/text()") - 样式模糊
[contains(@class,'Number Skill')] - 返回标签内包含字符串
string(//p) starts-with定位属性值id以cb开头的a元素
$x("//a[starts-with(@id,‘cb’)]/text()")
chrome 使用xpath
$x关键词
$x("//a/text()") # 获取页面所有a标签包含的字符
版权声明:本文为csdn_leidada原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。