簡體   English   中英

使用XPath以下從XML獲取元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM