0

スクレイピングされた 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>
4

1 に答える 1