我在使用 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),但认为问题是我不理解我正在查看的网页的分割。
最佳答案
棘手的部分是确定正确的属性集以仅选择这个 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/