read_html() 在 R 中没有获取 NES 股票网站的 HTML



我一直在尝试使用软件包rvest在R中从NSE(国家证券交易所)网站上抓取TATAMOTORS的股票价格。我在其中创建了一个变量nes_link存储网站的URL。并创建另一个变量nes_page并在其中分配read_html(nes_link),但在控制台中没有响应。

library(rvest)
library(dplyr)
library(tidyverse)
nes_link <- "https://www.nseindia.com/get-quotes/equity?symbol=TATAMOTORS"
nes_page <- read_html(nes_link)
price_day1 <- nes_page %>% 
html_nodes("span#quoteLtp") %>% 
html_text()`

由于该网站使用JavaScript而rvest不使用,您应该使用RSelenium:

在你的Shell中:

docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox

Then in R:

library(tidyverse)
library(RSelenium)
remDr <- remoteDriver$new(
remoteServerAddr = "localhost",
port = 4444
)
remDr$open()
remDr$navigate("https://www.nseindia.com/get-quotes/equity?symbol=TATAMOTORS")
remDr$findElement("span#quoteLtp", using = "css")$getElementText()[[1]] %>%
as.numeric()

请检查本网站是否允许网页抓取。

最新更新