gpt4 book ai didi

python - 使用 XPath Following 从 XML 中获取元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:28:57 26 4
gpt4 key购买 nike

我有如下的 XML

<li class="expandSubItem">
<span class="expandSubLink">Popular Neighborhoods</span>
<ul class="secondSubNav" style="top:-0.125em;">
<li class="subItem">
<a class="subLink" href="/Hotels-g187147-zfn7236765-Paris_Ile_de_France-Hotels.html">Quartier Latin Hotels</a>
</li>
</ul>
</li>
<li class="expandSubItem">
<span class="expandSubLink">Popular Paris Categories</span>
<ul class="secondSubNav" style="top:-0.125em;">
<li class="subItem">
<a class="subLink" href="/HotelsList-Paris-Cheap-Hotels-zfp10420.html">Paris Cheap Hotels</a>
</li>
</ul>
</li>

我想获取“热门巴黎类别”下的所有链接。我使用了类似这样的 //li//a/@href/following::span[text()='Popular Singapore Categories'],但没有给出任何结果。知道如何获得正确的结果吗?这是我编写的 Python 代码片段。

t_url = 'https://www.tripadvisor.com/Tourism-g187147-Paris_Ile_de_France-Vacations.html'
page = requests.get(t_url, timeout=30)
tree = html.fromstring(page.content)

links = tree.xpath('//li[span="Popular Paris Categories"]//a/@href')
print links

最佳答案

这是一种可能的方式:

//li[normalize-space(span)="Popular Paris Categories"]//a/@href

注意 normalize-space() 如何用于从 span 内容中删除尾随空格。这就是为什么我最初在评论中建议的 XPath 不适用于您的实际 HTML 的原因。

关于python - 使用 XPath Following 从 XML 中获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40191916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com