网络抓取突然停止工作

时间:2017-09-28 16:32:22

标签: r web-scraping

我首先要说的是,我对XML的了解非常少。

我向你保证,直到2或3天前,以下代码才能完美运行:

library("rvest")
url<-"https://en.wikipedia.org/wiki/Opinion_polling_for_the_next_United_Kingdom_general_election"
H<-read_html(url)
table<-html_table(H, fill=TRUE)
Z<-table[1]; Z1<-Z[[1]]

然后让我继续做我想做的事,从该网页中提取第一个表并将其放在数据框Z1中。但是,这突然停止工作,我不断收到错误消息:

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

当我查看H时,似乎不再是列表,现在看起来像这样:

{xml_document}
<html class="client-nojs" lang="en" dir="ltr">
[1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8 ...
[2] <body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject  ...
  

html_table显然失败了。

我真的不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

我相信你错过了在html_table函数之前解析表节点的步骤。

library("rvest")
url<-"https://en.wikipedia.org/wiki/Opinion_polling_for_the_next_United_Kingdom_general_election"
H<-read_html(url)
tables<-html_nodes(H, "table")
Z1<-html_table(tables[1], fill = TRUE)[[1]]