我正在嘗試從維基百科國(guó)家/地區(qū)頁(yè)面中抓取人口信息。我遇到的問(wèn)題是,在我嘗試抓取的節(jié)點(diǎn)中沒(méi)有涉及人口的信息,相反,人口僅在其之前的節(jié)點(diǎn)中被引用。因此,我嘗試使用 Xpath 將表達(dá)式移動(dòng)到下一個(gè)節(jié)點(diǎn),但找不到正確的命令。下面是一個(gè) xpath 表達(dá)式,它讓我到達(dá)我想要抓取的人口數(shù)量之前的節(jié)點(diǎn)://table[@class='infobox?geography?vcard']//tr[@class?=?'mergedtoprow']//a[contains(@href,"Demographics")]/../..它在表中搜索包含“人口統(tǒng)計(jì)”的 href,然后向上兩級(jí)找到父母的父母。但問(wèn)題是標(biāo)題與我要提取的數(shù)字位于不同的節(jié)點(diǎn)中,因此我需要可以轉(zhuǎn)到下一個(gè)節(jié)點(diǎn)的內(nèi)容。我已經(jīng)看到了表達(dá)式 /following-sibling::div[1] 但它似乎不適用于我的表達(dá)式,我不知道為什么。如果有人能想到一種更直接的方法來(lái)查找上述網(wǎng)頁(yè)中的節(jié)點(diǎn),那也很好。
1 回答

慕沐林林
TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
我認(rèn)為你的問(wèn)題的一般答案是:“謂詞可以嵌套”。
//table[
@class='infobox geography vcard'
]//tr[
@class = 'mergedtoprow' and .//a[contains(@href, "Demographics")]
]/following-sibling::tr[1]/td/text()[1]
- 1 回答
- 0 關(guān)注
- 265 瀏覽
添加回答
舉報(bào)
0/150
提交
取消