如何捕获位于 HTML 页面的 h2 节点之间的特定值?

How to capture a specific value located between the h2 nodes of an HTML page?

我正在使用 R 中的 rvest 包来捕获网页上的特定文本。 我有兴趣捕获的文本是“Hotel ABC - An All-Inclusive Resort”。

其在网页html代码中的位置如下所示:

<h2 class="hp__hotel-name" id="hp_hotel_name">
<span class="hp__hotel-type-badge">Hotel</span>
Hotel ABC - An All-Inclusive Resort
</h2>

我如何使用 rvest 来捕获该特定文本?

您需要获取跨度的以下同级,由父 h2 id 锚定。

library(rvest)

html <- '<h2 class="hp__hotel-name" id="hp_hotel_name">
<span class="hp__hotel-type-badge">Hotel</span>
Hotel ABC - An All-Inclusive Resort
</h2>'

read_html(html) %>%
  html_node(xpath = "//*[@id='hp_hotel_name']/span/following-sibling::text()[1]") %>%
  html_text(trim = T)