スクレイピングされた html の (大きな) ベクター、より具体的には を解析しようとしていますが、ベクター内の一部のページには 2 つ含まれているため、置換するとデータよりも多くの行が作成されます。私の質問: すべての 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)
どんな助けでも大歓迎です
2 つのサンプル:
<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>