You need to enable JavaScript to run this app. 如何编写XPath精准抓取维基百科指定章节内容至下一个h2标签
优惠活动
大模型
产品
解决方案
定价
更多

如何编写XPath精准抓取维基百科指定章节内容至下一个h2标签

原有XPath失效原因
  • 你编写的表达式使用following::轴匹配后续p元素时未设置终止边界,该轴的特性是匹配锚点位置之后整个文档流内的所有p节点,自然会一路抓取到页面最末尾
  • 现有写法既没有将抓取范围卡在「Demographics」对应的h2标签位置上,也没有排除章节内嵌套的表格内容,不符合提取要求
适配需求的XPath实现

核心范围判断逻辑:

  • 仅匹配位置在「Geography and climate」章节起始锚点之后的p元素
  • 仅匹配位置在「Demographics」章节起始锚点之前的p元素
  • 直接过滤被<table>标签嵌套的p元素,自动跳过表格内的所有内容

可直接运行的XPath表达式:

//span[@id='Geography_and_climate']/ancestor::h2/following::p[
  not(ancestor::table)
  and
  count(. | //span[@id='Demographics']/ancestor::h2/preceding::p) 
  = 
  count(//span[@id='Demographics']/ancestor::h2/preceding::p)
]/text()
匹配效果
  • 抓取范围严格卡在两个h2标题的边界之间,不会抓取「Demographics」章节开始之后的任何段落
  • 所有表格内的p节点都会被自动过滤,不会将表格内容混入提取结果
  • 最终返回的都是两个章节范围内的纯文本内容,没有多余的标签结构

内容的提问来源于stack exchange,提问作者Haseeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.04 22:54:04