2017-03-18 1 views
0

次のコードを使用してこのウェブページをスクラップしようとしています。R XMLを使用したhtmlウェブページのスクラビング

library(XML) 
url <- html("http://www.gallop.co.za/") 
doc <- htmlParse(url) 
lat <- xpathSApply(doc,path="//p[@id=Racecards]",fun = xmlGetAttr , name = 'Racecards') 

私は、Webページを見て、私はこすりするテーブルは、レーシングプログラムデータがどこにあるかへのリンクを取得するには、主に、レーシングプログラムテーブルです。

私はXMLパスを戻すセレクタガジェット使用:iはRコードを使用する場合、しかし、それはゼロリストを返す

//*[(@id = "Racecards")] 

を。何とかxmlパスが間違っていて、テーブルを返す正しい方法は何ですか?また、テーブル内のリンクも返すように感じていますか?

答えて

1

データはjsonに転送され、jsを使用してhtmlに挿入されたようです。したがって、htmlからデータを取得することはできません。 jsonから直接入手できます。

library(RCurl) 
library(jsonlite) 

p <- getURL("http://www.gallop.co.za/cache/horses.json") 
fromJSON(p) 
+0

これは素晴らしいです。その場所がhttp://www.gallop.co.za/cache/horses.jsonであることをどのように把握しましたか? – Tammboy

+0

ファイアウォールブラウザでFirebugを使用したり、クロムでF12を使用してネットワーク転送を調べることができます。それに応じて、データがどこに保存されているかを把握します。 –

関連する問題