4

次のようなテーブルからRにデータをインポートしたいと思います。

http://www.rout.gr/index.php?name=Rout&file=results&year=2011

以下のスレッドで提案されているようにXMLライブラリを使用してみましたが、何も取得できませんでした。

XMLパッケージを使用してhtmlテーブルをRデータフレームにスクレイピングする

4

2 に答える 2

5

そのサイトで起こっているいくつかのファンキーなことがあるようです。ユーザーエージェントを偽造しない限り、データは返されないようです。それでも、readHTMLTableはあまりうまく動作せず、全体を渡すとエラーが返されますdoctable_results_r_1ソースを読んだ後、関連するテーブルにidがあり、それを分離して結果を作業に渡すことがわかります。

library(XML)
library(httr)

theurl <- "http://www.rout.gr/index.php?name=Rout&file=results&year=2011"
doc <- htmlParse(GET(theurl, user_agent("Mozilla")))
results <- xpathSApply(doc, "//*/table[@id='table_results_r_1']")
results <- readHTMLTable(results[[1]])
rm(doc)

次に、テーブルの列名を整理する必要があります。

于 2012-08-11T05:50:23.557 に答える
2

私のコメントに加えて

theurl <- "http://www.rout.gr/index.php?name=Rout&file=results&year=2011"
doc <- htmlParse(GET(theurl, user_agent("Mozilla")))
removeNodes(getNodeSet(doc,"//*/comment()"))
dum.tables<-readHTMLTable(doc)

そのため、14番目のテーブルのヘッダー間のコメントが問題を引き起こしていました。すべてのhtmlコメントを削除すると、関数はページ上のすべてのテーブルで機能します。

于 2012-08-12T03:57:41.740 に答える