了解如何从 Investing.com 获取 id 跨度之间的数据

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

我想使用 rvest 包从 Investing.Com 获取值。

URL="https://www.forexfactory.com/calendar?day=Aug30.2023"

在HTML中,我需要的值放置在span class 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)”。如下图所示。

r web-scraping rvest
1个回答
0
投票

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

library(rvest)
library(dplyr)

h <- read_html(doc)
html_elements(h, xpath='.//span[@id="timeZoneGmtOffsetFormatted"]') %>%
             html_text()
#or
#html_elements(h, 'span[id="timeZoneGmtOffsetFormatted"]') %>% html_text()
#[1] "(GMT -4:00)"

这是一个很好的参考:https://www.red-gate.com/simple-talk/wp-content/uploads/imported/1269-Locators_groups_1_0_2.pdf?file=4938

© www.soinside.com 2019 - 2024. All rights reserved.