【问题标题】:rvest handling hidden textrvest 处理隐藏文本
【发布时间】:2019-09-29 06:00:46
【问题描述】:
我在抓取网页时没有看到我要查找的数据/文本
我尝试用谷歌搜索这个问题,但没有任何运气。我也尝试过使用 xpath,但我得到了{xml_nodeset (0)}
require(rvest)
url <- "https://www.nasdaq.com/market-activity/ipos"
IPOS <- read_html(url)
IPOS %>% xml_nodes("tbody") %>% xml_text()
输出:
[1] "\n \n \n \n \n \n "
我没有看到任何 IPO 数据。预期输出应包含“定价”IPO 的表格:符号、公司名称等...
【问题讨论】:
标签:
r
web-scraping
rvest
hidden-field
【解决方案1】:
无需昂贵的 RSelenium。您可以在网络选项卡中找到一个 API 调用,以 json 格式返回所有内容。
例如,
library(jsonlite)
data <- jsonlite::read_json('https://api.nasdaq.com/api/ipo/calendar?date=2019-09')
View(data$data$priced$rows)
【解决方案2】:
似乎表格数据是由脚本加载的。您可以使用RSelenium 包来获取它们。
library(rvest)
library(RSelenium)
rD <- rsDriver(port = 1210L, browser = "firefox", check = FALSE)
remDr <- rD$client
url <- "https://www.nasdaq.com/market-activity/ipos"
remDr$navigate(url)
IPOS <- remDr$getPageSource()[[1]] %>%
read_html() %>%
html_table(fill = TRUE)
str(IPOS)
PRICED <- IPOS[[3]]