如何从AJAX繁重的网站上抓取数据表?

时间:2018-07-23 12:54:03

标签: javascript python r ajax web-scraping

我想从this净值表中抓取实时数据并将其粘贴到Excel文件中

我尝试使用Python的beautifulsoup4包,但是数据并不直接存在于html页面中,相反,它似乎是使用某些javascript或类似语言加载的

1 个答案:

答案 0 :(得分:1)

这是怎么做

在Chrome中打开页面。现在,在chrome中打开开发者控制台。点击“网络”标签。现在刷新页面。

此标签显示了您提出的要求(您可以看到大约8个项目)。

手动检查为我们提供了我们想要的:

https://www.nseindia.com/live_market/dynaContent/live_watch/stock_watch/niftyStockWatch.json

这是数据所在的链接。

现在,要将其放入csv(可以在excel中打开),请使用R的rvest软件包:

library(rvest)
library(jsonlite)

url <- "https://www.nseindia.com/live_market/dynaContent/live_watch/stock_watch/niftyStockWatch.json"
page_html <- read_html(url)
data <- html_nodes(page_html, "p")
data <- html_text(data)

data <- fromJSON(data)
write.csv(data$data, "scrapedData.csv", row.names=FALSE)

如果您希望此数据为“实时”数据,则可以(例如)每5秒运行一次抓取。