【问题标题】: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]]
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-07
        • 1970-01-01
        • 1970-01-01
        • 2010-09-19
        相关资源
        最近更新 更多