我有一个类似以下的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的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句