爬虫利器 xpath 实践案例

爬虫利器 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

  1. $x 关键词
$x("//a/text()") # 获取页面所有a标签包含的字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值