首页 > 解决方案 > 来自维基百科的 R 网络抓取错误

问题描述

我在从维基百科抓取网络信息时遇到问题,并收到以下错误消息:

if (length(p) > 1 & maxp * n != sum(unlist(nrows)) & maxp * n != 中的错误:

需要 TRUE/FALSE 的缺失值

不知道如何解决这个问题,请帮助我

url <- 'https://en.wikipedia.org/wiki/List_of_S%26P_500_companies'
wiki <- read_html(url) %>% html_nodes('table') %>% html_table(fill = TRUE)

names(wiki[[1]])

输出错误:


Error in if (length(p) > 1 & maxp * n != sum(unlist(nrows)) & maxp * n !=  : 
  missing value where TRUE/FALSE needed

标签: rweb-scraping

解决方案


假设你想要一张大桌子,你可以使用它的 id。id 应该是元素的最快选择器方法

require(rvest)
r <- read_html("https://en.wikipedia.org/wiki/List_of_S%26P_500_companies") %>%
  html_nodes("#constituents") %>% 
  html_table()
print(r)

推荐阅读