研究如何获取id跨度之间的数据

问题描述 投票:0回答:1

我想使用 rvest 包从网页获取值。在 HTML 中,该值放置在 span 类 id 和 div 之间。 html 代码如下所示:

library(rvest)

doc <- '<div id="economicCurrentTime" class="ecoCurrentTime ">
<span class="grayClockIcon">&nbsp;</span>Current Time:
<span id="currentTime" class="bold blackFont" data-datetime="2023/09/01 19:27:02">19:27</span>&nbsp;&nbsp;
<span id="timeZoneGmtOffsetFormatted">(GMT -4:00)</span>&nbsp;&nbsp;
<span class="dropDownArrowGray"></span> </div>'

我想收集值“(GMT -4:00)”,使用

h <- read_html(doc)
h %>% html_nodes('#economicCurrentTime__timeZoneGmtOffsetFormatted')
r web-scraping rvest
1个回答
0
投票

您可以使用 xpath 选项并仅选择 id 等于 timeZoneGmtOffsetFormatted 的“span”节点。

library(rvest)
library(dplyr)

h <- read_html(doc)
html_elements(h, xpath='.//span[@id="timeZoneGmtOffsetFormatted"]') %>%
             html_text()
#[1] "(GMT -4:00)"
© www.soinside.com 2019 - 2024. All rights reserved.