2013-02-12 37 views
0

我想解析一個(大)向量刮的html,更具體地說,但矢量中的一些頁面有兩個這樣的替換結束的行數比數據多。我的問題是:如何在每個obs中只取第一個// h2?使用xpathapply在webscrapes的向量中只取每行的第一個h2節點

這是我試過的代碼:

data$header = unlist(xpathSApply(htmlParse(data$html, asText=TRUE), '(//h2)[1]', xmlValue)) 

這給了我只是第一個。此代碼給了我所有的H2S:

data$header = xpathApply(htmlParse(philly$html, asText=TRUE), '//descendant::h2[1]', xmlValue) 

任何幫助表示讚賞

樣品有兩個:

<div id="tutors"> 

<h1>Tutors</h1> 
<div class="tutor"> 
<h2>John</h2> 
<p>...</p> 

<div class="tutor"> 
<h2>Mary</h2> 
<p>...</p> 
</div> 

<div class="tutor"> 
<h2>David</h2> 
<p>...</p> 
</div> 

</div> 

回答

1

解決它由包括整個根路徑:

data$header = unlist(xpathApply(htmlParse(data$html, asText=TRUE), '/html/body/h2', xmlValue)) 
相關問題