我目前正在从事一个使用 R 处理网页抓取的项目。这是非常基本的,但我试图了解它是如何工作的。
我正在使用谷歌股票作为我的网址,我正在使用谷歌股票代码作为我正在查看的股票。
这是我的代码:
# Declaring our URL variable
google = html("https://www.google.com/searchq=google+stock%5D&oq=google+stock%5D&aqs=chrome..69i57j0l2j69i60l3.5208j0j4&sourceid=chrome&ie=UTF-8")
# Prints and initializes the data
google_stock = google %>%
html_nodes("._FOc , .fac-l") %>%
html_text()
# Creating a data frame table
goggledf = data.frame(table(google_stock))
# Orders the data into highest frequency shown
googledf_order = googledf[order(-googledf$Freq),]
# Displays first few rows of data
head(googledf_order)
当我运行这个时,我得到integer(0)
,它应该显示股票价格。我不确定为什么这没有显示正确的股票价格。我还尝试运行代码直到html_text()
,它仍然没有向我显示我想要或需要的数据。
我只需要这个来显示网络上的股票价格。
我正在使用SelectorGadget
来获取我的html节点("._FOc,.fac-l"(
我认为您的URL可能有问题。当我尝试将其粘贴到浏览器中时,出现 404 错误。
您可以使用quantmod
包,而不是抓取。要获取历史数据,您可以使用以下内容:
library(quantmod)
start <- as.Date("2018-01-01")
end <- as.Date("2018-01-20")
getSymbols("GOOGL", src = "google", from = start, to = end)
要获得当前的股票报价,您可以使用:
getQuote("GOOGL", src = "yahoo")
从quantmod
文档中看,getQuote
功能"仅处理来自雅虎财经的采购报价"。