我正在尝试解析抓取的 html 的(大)向量,更具体地说是 ,但向量中的某些页面中有两个,因此替换最终会得到比数据更多的行。我的问题:我如何只取每个 obs 中的第一个 //h2 ?
这是我尝试过的代码:
data$header = unlist(xpathSApply(htmlParse(data$html, asText=TRUE), '(//h2)[1]', xmlValue))
这只给了我第一个。这段代码给了我所有的h2:
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>