为了账号安全,请及时绑定邮箱和手机立即绑定

使用 XPath 在 Python 中选择下一个节点

使用 XPath 在 Python 中选择下一个节点

米琪卡哇伊 2023-08-21 16:45:30
我正在尝试从维基百科国家/地区页面中抓取人口信息。我遇到的问题是,在我尝试抓取的节点中没有涉及人口的信息,相反,人口仅在其之前的节点中被引用。因此,我尝试使用 Xpath 将表达式移动到下一个节点,但找不到正确的命令。下面是一个 xpath 表达式,它让我到达我想要抓取的人口数量之前的节点://table[@class='infobox geography vcard']//tr[@class = 'mergedtoprow']//a[contains(@href,"Demographics")]/../..它在表中搜索包含“人口统计”的 href,然后向上两级找到父母的父母。但问题是标题与我要提取的数字位于不同的节点中,因此我需要可以转到下一个节点的内容。我已经看到了表达式 /following-sibling::div[1] 但它似乎不适用于我的表达式,我不知道为什么。如果有人能想到一种更直接的方法来查找上述网页中的节点,那也很好。
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

我认为你的问题的一般答案是:“谓词可以嵌套”。


//table[

  @class='infobox geography vcard'

]//tr[

  @class = 'mergedtoprow' and .//a[contains(@href, "Demographics")]

]/following-sibling::tr[1]/td/text()[1]


查看完整回答
反对 回复 2023-08-21
  • 1 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信