CRE选择器问题与rvest和NHL统计

时间:2018-05-05 19:15:14

标签: html css r rvest

我想从hockey-reference.com抓取数据,特别是从以下链接:

https://www.hockey-reference.com/leagues/NHL_1991.html

我想要第4张桌子,名为"团队统计,"而且我还想减去第一行和最后一行(但可能是另一次)。

最初,我希望得到1991年的链接,但我想最终刮掉1991年至2017年的每一个环节。

library(tidyverse)
library(rvest)

stat_urls <- "https://www.hockey-reference.com/leagues/NHL_1991.html"

现在,为简单起见,我只有1991年的链接。我无法找到正确的CSS选择,即使我已经尝试了多个不同的选择,经过使用&#34;检查&#34;进行了彻底的搜索。实际网页的来源。我尝试过以下css选择:

table#stats.sortable.stats_table.now.sortable
#stats
#all_stats
#all_stats > div.table_outer_container
#stats
#stats > tbody
#div_stats (and all sorts of combos with this one)

在以下代码中使用时,这些都不起作用:

team_stats <- stat_urls %>% 
 read_html() %>%
 html_nodes("#stats") %>% 
 html_table(header = T)

所有尝试使用&#34; xpath =&#34;也失败了。对此有任何帮助绝对是惊人的,Go Preds!

1 个答案:

答案 0 :(得分:1)

您可以尝试使用RSelenium。在这里看到类似的答案:Web Scraping Basketball Reference using R

library(rvest)
library(RSelenium)
startServer() 
remDr<-remoteDriver(browserName = "chrome")
remDr$open()

remDr$navigate("https://www.hockey-reference.com/leagues/NHL_1991.html")
page <- read_html(remDr$getPageSource()[[1]])
table <- html_table(page, fill = TRUE)
table[[28]]

虽然安装硒很痛苦但我也会尝试帮助它,但我刚刚安装了它,所以不记得了。祝你好运

发布原始问题的人:

上述答案有效,但我必须通过Homebrew:

https://brew.sh/

然后我不得不使用以下代码:

Using Selenium on Mac Chrome

# download selenium jar
curl -L0 https://selenium-release.storage.googleapis.com/3.9/selenium- 
server-standalone-3.9.1.jar -o selenium-server-standalone.jar

# install chromedriver
brew install chromedriver

# start chrome driver
brew services start chromedriver                                                                                                                                                                      
#==> Successfully started `chromedriver` 
(label:homebrew.mxcl.chromedriver)

# start selenium server
java -jar selenium-server-standalone.jar                                                                                                                                                                           
#14:38:20.684 INFO - Selenium build info: version: '3.9.1', revision: 
'63f7b50'
#14:38:20.685 INFO - Launching a standalone Selenium Server on port 
4444