我对英超联赛的数据感兴趣。因此,我尝试从此官方网站获取数据https://www.premierleague.com/stats/top/players/total_pass
我正在使用R和RSelenium包。
library(rvest) library(httr) library(RSelenium) remDr <- remoteDriver(port = 4445L) remDr$open() remDr$navigate('https://www.premierleague.com/stats/top/players/total_pass') getsource <-remDr$getPageSource() name<- read_html(getsource[[1]]) %>% html_nodes("strong") %>% html_text()
但是我遇到了一些问题。有一些类别的数据,例如季节,位置,俱乐部等。
因此,我认为我可以基于这些类别获取数据。但是我不知道如何在此站点中使用Rselenium在下拉框中选择特定的内容。
我认为,filenElement和clickElement对于这个实用的功能。但是,我不知道如何处理这些功能以选择特定条件,例如2016/17赛季和守门员位置。
filenElement
clickElement
请给我一个建议。
使用以下代码,我能够使浏览器选择2014/15赛季。您将需要检查各种下拉菜单的内容,并根据需要进行扩展。
rD <- rsDriver(port=4444L,browser="chrome") remDr <- rD$client #navigate to main page remDr$navigate('https://www.premierleague.com/stats/top/players/total_pass') #find 'filter by season' box and click it webElem <- remDr$findElement(using = 'xpath', value = "//*[@data-dropdown-block='FOOTBALL_COMPSEASON']") webElem$clickElement() #find 2014/15 season and click it webElem1 <- remDr$findElement(using = 'xpath', value = "//*[@data-option-name='2014/15']") webElem1$clickElement()