【发布时间】:2021-02-25 23:10:44
【问题描述】:
我多年来一直在尝试网络抓取数据(由不同的网页表示)。我的 2019 年数据完全按照我的意愿运行,但是当我尝试像 2019 年数据一样准备 2016 年数据时出现错误。
url19 <- 'https://www.pro-football-reference.com/draft/2019-combine.htm'
get_pfr_HTML_file19 <- GET(url19)
combine.parsed19 <- htmlParse(get_pfr_HTML_file19)
page.tables19 <- readHTMLTable(combine.parsed19, stringsAsFactors = FALSE)
data19 <- data.frame(page.tables19[1])
cleanData19 <- data19[!rowSums(data19 == "")> 0,]
cleanData19 <- filter(cleanData19, cleanData19$combine.Pos == 'CB' | cleanData19$combine.Pos == 'S')
cleanData19 正是我想要的,但是当我尝试使用 2016 数据运行它时,我收到错误:XML 内容似乎不是 XML:''
url16 <- 'https://www.pro-football-reference.com/draft/2016-combine.htm'
get_pfr_HTML_file16 <- GET(url16)
combine.parsed16 <- htmlParse(get_pfr_HTML_file16)
page.tables16 <- readHTMLTable(combine.parsed16, stringsAsFactors = FALSE)
data16 <- data.frame(page.tables16[1])
cleanData16 <- data16[!rowSums(data16 == "")> 0,]
cleanData16 <- filter(cleanData16, cleanData16$combine.Pos == 'CB' | cleanData16$combine.Pos == 'S')
当我尝试运行combine.parsed16 <- htmlParse(get_pfr_HTML_file16) 时出现错误
【问题讨论】:
-
确保列出您正在使用的所有非基础 R 包。看起来您可能正在梳理
httr和XML?尝试直接将 URL 传递给htmlParse而不是使用GET如果你想使用GET,那么你最好使用xml2包来处理数据。
标签: html r xml web-scraping html-parsing