2017-09-28 18 views
0

XMLの知識が非常に少ないと言って始めます。Webスクレイピングが突然停止した

私は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にあります。しかし、これが突然動作を停止しましたと、私はエラーメッセージが出続ける:私はHを見てみると

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

リストであることはもはやいないようですし、次のようになります。

{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では明らかに失敗しています。

これはどこから始めるのか本当に分かりません。

+0

私は、ページ上のテーブルがhtml_tableを変更したとしても、まだそれを解析できたはずであると考えていませんか?私はその期間中のページの変更をチェックし、彼らは副次的な編集でした。 – ANCutler

答えて

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]] 
+0

が動作するようです。私が最初にこれをやろうとしたとき、私はテーブルメソッドを使用していましたが、私が投稿したコードで終わったことを思い出してください。これは間違いなく数日前まで機能しました。私はチェックして、コードは何ヶ月間も修正されていません。しかたがない。ありがとうございました。 – ANCutler

関連する問題