【问题标题】:New to rvest package - trying to scrape a basic table from a webpage using Rrvest 包的新手 - 尝试使用 R 从网页中抓取基本表格
【发布时间】:2021-10-25 19:57:19
【问题描述】:

我只是想在这个链接(标题为“Standings - Points”)上抓取第一张桌子:https://www.fantrax.com/fantasy/league/vu0zoow2kk7bh64k/standings

按照这里的一些文档和以前的帖子,我已经尝试过:

data <- read_html("https://www.fantrax.com/fantasy/league/vu0zoow2kk7bh64k/standings")
tables <- data %>% html_table(fill = TRUE)

data <- read_html("https://www.fantrax.com/fantasy/league/vu0zoow2kk7bh64k/standings")
tables <- html_nodes(data, "table")

两者都无法从该页面中获取任何内容 - R 只是为每个页面显示一个空白返回。我希望/猜测这只是我缺少的一些简单的东西。

【问题讨论】:

  • 该页面的源代码中没有表格。请注意,rvest 只会查看 HTML 源代码。它无法在该页面上运行任何 javascript。大多数现代网站在 HTML 加载后使用 javascript 加载数据。如果您检查“源”选项卡,而不是开发人员工具的“元素”选项卡,您可以看到 rvest 看到的内容。元素是 javascript 运行后的内容。如果您需要从使用 javascript 的站点中提取数据,请考虑使用 RSelenium。或者您可以梳理网络选项卡,看看是否可以找到数据的来源。

标签: r web-scraping rvest


【解决方案1】:

使用RSelenium

library(RSelenium)
library(dplyr)
library(rvest)

# Launching the browser
rD <- rsDriver(browser="firefox", port=4551L, verbose=F)
remDr <- rD[["client"]]  
url = 'https://www.fantrax.com/fantasy/league/vu0zoow2kk7bh64k/standings'
remDr$navigate(url)
# Extracting tables
remDr$getPageSource()[[1]] %>% 
  read_html() %>%
  html_table()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 2018-02-15
    相关资源
    最近更新 更多