r - 关于使用 R 进行 Web 抓取的 HTML 代码的混淆

标签 r web-scraping rvest

我在使用 R 中的 rvest 包时遇到困难,很可能是因为我缺乏 CSS 或 HTML 方面的知识。这是一个例子(我的猜测是“.quote-header-info”是错误的,也尝试了“.Trsdu ...”但也没有运气):

library(rvest)
url="https://finance.yahoo.com/quote/SPY"

website=read_html(url) %>%
  html_nodes(".quote-header-info") %>%
  html_text() %>% toString()

website

下面是我要抓取的网页。专门寻找获取值“416.74”。我查看了此处的文档 (https://cran.r-project.org/web/packages/rvest/rvest.pdf),但认为问题是我不理解我正在查看的网页的分割。

enter image description here

最佳答案

棘手的部分是确定正确的属性集以仅选择这个 html 节点。

在这种情况下,span 标记的类为 Trsdu(0.3s)Fz(36px)

library(rvest)
url="https://finance.yahoo.com/quote/SPY"

#read page once
page <- read_html(url)

#now extract information from the page
price <- page %>%  html_nodes("span.Trsdu\\(0\\.3s\\).Fz\\(36px\\)") %>%
   html_text()

price

注意:“(”、“)”和“.”都是特殊字符,因此需要对它们进行双重转义“\\”。

关于r - 关于使用 R 进行 Web 抓取的 HTML 代码的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67246470/

相关文章:

r - 如何在R中的不同方面产生不同的geom_vline?

r - 将逻辑向量转换为字符时如何避免 R 将 F 转换为 False

python - 从多个 DIV 选择要打印的 URL

c# - 如何使用 selenium 从工具提示中抓取文本?页面不包含工具提示 html

r - 如何在 R 中的 rvest::set_values() 中设置复选框值

rvest:语言选择在 tripadvisor 中不起作用

r - 我怎么知道 R 中的函数或操作是矢量化的?

r - 在 Excel 中复制具有格式的工作表

r - 尝试遍历 HTML 表格并创建数据框

使用 xpath 在 R 中使用 xml2 读取 sbml 文件