[英]Using XPath Following to get element from XML
我有一個類似以下的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。
或許這樣的事情
//span[text()='Popular Paris Categories']/following-sibling::ul//a/@href
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.