获取下一个兄弟的类型/信息

2024-10-03 09:12:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从一个网站提取信息,html格式如下:

<h2> <span class="mw-headline" id="Cast">Cast</span></h2>
<ul><li> <a href="/Shota_Sometani" title="Shota Sometani">Shota Sometani</a> - Shinichi Izumi
</li><li> <a href="/Ai_Hashimoto" title="Ai Hashimoto">Ai Hashimoto</a> - Satomi Murano
</li><li> <a href="/Sadao_Abe" title="Sadao Abe">Sadao Abe</a> - Migi
</li><li> <a href="/Eri_Fukatsu" title="Eri Fukatsu">Eri Fukatsu</a> - Teacher Ryoko Tamiya
</li><li> <a href="/Masahiro_Higashide" title="Masahiro Higashide">Masahiro Higashide</a> - Hideo Shimada (mysterious transfer student)
</li><li> <a href="/Nao_Omori" title="Nao Omori">Nao Omori</a> - Kuramori (freelance journalist)
</li><li> <a href="/Pierre_Taki" title="Pierre Taki">Pierre Taki</a> - Miki
</li><li> <a href="/Hirofumi_Arai" title="Hirofumi Arai">Hirofumi Arai</a> - Uragami (serial killer)
</li><li> <a href="/Kazuki_Kitamura" title="Kazuki Kitamura">Kazuki Kitamura</a> - Takeshi Hirokawa (mysterious mayor candidate)
</li><li> <a href="/Tadanobu_Asano" title="Tadanobu Asano">Tadanobu Asano</a> - Goto (Takeshi Hirokawa’s bodyguard)
</li><li> <a href="/Kimiko_Yo" title="Kimiko Yo">Kimiko Yo</a> - Nobuko Izumi (Shinichi Izumi’s mother)
</li><li> <a href="/Jun_Kunimura" title="Jun Kunimura">Jun Kunimura</a> - Detective Hirama
</li><li> <a href="/Wataru_Ichinose_(1985)" title="Wataru Ichinose (1985)">Wataru Ichinose</a> - gang member
</li><li> <a href="/Roy_Kishima" title="Roy Kishima">Roy Kishima</a> - Roy Kishima
</li></ul>

或者,html也可以如下所示:

^{pr2}$

我不知道紧跟在h2后面作为同级节点的元素的类型。 在大多数情况下,h2元素后面的元素应该是一个表,这就是我要检查的内容。对于这个例子,我需要检测h2后面的元素不是一个表。为此,我使用

response.xpath('//h2/span[@id="Cast"]/../following-sibling::table')

抓住下一张桌子。我通常会期待一份空名单。然而,这是不起作用的,因为确实有一个表,但它有许多元素更进一步,与完全无关的内容。在

有没有一种方法可以获得紧跟在节点后面的以下同级的信息?在


Tags: 元素titlelih2aihrefspancast
2条回答

为了得到下一个兄弟姐妹,应该是:

(//h2/span[@id="Cast"]/../following-sibling::table)[1]

如果要获取紧随其后的同级节点的类型(名称),可以尝试

//h2/following-sibling::*[1]/name()

相关问题 更多 >