2016-09-15 48 views
2

方法html_text()(來自R Package rvest)將節點和的所有子文本連接起來。我想提取只有父親的文字Rvest:獲取節點文本而不是其子文

以下示例,html_text()給出HELLO GOODBYE

我想要得到GOODBYE。我怎麼才能得到它?

<div class="joke"> 
 
    <div class="div_inside"> 
 
    <div class="title_inside"> 
 
     <a class="link" href="sompage.htm">HELLO</a> 
 
    </div> 
 
    </div> 
 
    GOODBYE 
 
</div>

+1

問題+最小代碼+最小數據是SO問題的常見習慣用法 – hrbrmstr

+0

'read_html('your_html_script')%>%html_nodes(xpath ='// div [@ class =「joke」]/node()[ not(self :: div)]')%>%html_text()'? – Abdou

+0

完美的工作,@Abdou。我預測了一些來自rvest軟件包的東西,但xpath的靈活性已經足夠。非常感謝你! – Sorrentum

回答

2

試圖抓住主要div標籤與class 「笑話」 不拿起它的孩子,使用XPath:

library(rvest) 

read_html('your_html_script') %>% 
    html_nodes(xpath = '//div[@class="joke"]/node()[not(self::div)]') %>% 
    html_text() 

謝謝!

相關問題