2017-09-14 8 views
0

このホッケー大会/リーグの名前はpageです。問題は、私が8000要素に近づいてしまうことです。なぜなら、それはなぜか分かりません。Rseleniumは期待以上に多くの要素を返します

library(RSelenium) 
rs <- rsDriver() 
remote <- rs$client 

remote$navigate("http://www.oddsportal.com/results/#hockey") 
elems <- remote$findElements("css selector", "#archive-tables > table a") 
# tournaments <- unlist(sapply(elems, function(x) x$getElementText())) This takes very long time due to the number of elements 

答えて

1

実際に検索するタイプの要素がたくさんあります。

私の好きなツールは、SelectorGadgets(Chrome拡張機能)をインストールして、スクラップしようとしていた要素をクリックしてみることです(または、#archive表a)。

サッカー、テニス、バスケットボールなどの他のカテゴリでは、RSeleniumが注文に基づいて区別する方法がない他のハイパーリンクが多数表示されていますが、黄色で表示されます。

次の解決策は素朴ですが、すばやいです。私は

library(rvest) 
odds_portal <- read_html("http://www.oddsportal.com/results/#hockey") 
temp <- odds_portal %>% html_nodes("#archive-tables a") %>% html_text() 
a <- which(temp=="Hockey") 
b <- which(temp=="Handball") 
temp[a:(b-1)] 
rvest好き、私は配管を使用して愛し、それはそんなにより直感的に私にだから---パッケージrvestをインストールし、

私はあなたがしたいが、結果として320個の要素は、あなたが望んでいたものに近いと思いますそれらのうちのいくつかをフィルタリングする必要があります。アジア。これがうまくいかないかどうか私に教えてください。

関連する問題