我正在尝试从维基百科国家/地区页面中抓取人口信息。我遇到的问题是,在我尝试抓取的节点中没有涉及人口的信息,相反,人口仅在其之前的节点中被引用。因此,我尝试使用 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]
- 1 回答
- 0 关注
- 210 浏览
添加回答
举报
0/150
提交
取消