2016-11-13 49 views
0

,所以我有一些HTML這樣Python的scrapy,如何只得到直接孩子

<div class="content"> 
    <div class="infobox"> 
     <p> text </p> 
     <p> more text </p> 
    </div> 
    <p> text again </p> 
    <p> even more text </p> 
</div> 

,我使用這個選擇'.content p::text'我認爲這隻會讓我眼前的孩子,所以我想它來提取「文本再次」和「甚至更多的文本」,但它也從其他div中的段落獲取文本,我怎麼能防止這種情況發生,我只想從段的直接子節段的文本。內容

回答

2

Scrapy使用的擴展集CSS selectorsXPath selectors。你的情況,你正在使用CSS選擇器。您需要的CSS關係選擇器是>,表示父/子關係,如:.content > p::text。 Scrapy的選擇器在其文檔中標題爲「Selectors」的部分中進行了介紹。