使用R作为浏览器如何登录http://games.espn.go.com/ffl/signin并抓取我的FFL团队HTM



我一直在尝试我能在网上找到的一切来登录并设置cookie和证书。。。。似乎无法通过重定向到登录屏幕。

以下是我要做的:

##################################################
library("RCurl")
library("XML")
loginURL <- "http://games.espn.go.com/ffl/signin"
dataURL <- "http://games.espn.go.com/ffl/clubhouse?leagueId=123456&teamId=8&seasonId=2014"

# ESPN Fantasy Football Login Screen
userID <- dQuote("myUsername")
pword <-dQuote("myPassword")
pushbutton <- dQuote("OK")
# concatenate the url and log in options
FFLsigninURL <- paste(loginURL ,
    "&username=",userID,
    "&password=",pword,
    "&submit=",pushbutton)
page <- getURL(loginURL , verbose = TRUE)

这似乎导致我重定向登录-所以问题1-登录不起作用

第2部分-一个登录-我如何继续到dataURL来抓取表?我也在数据页面上尝试了登录参数,但仍然被重定向到登录屏幕。

我确信我错过了一些简单的东西——只是没有看到它…

应该可以使用RCurl跟踪位置等,或者您可以使用硒并驱动浏览器:

library(RSelenium)
loginURL <- "http://games.espn.go.com/ffl/signin"
user <- 'myPass'
pass <- 'myUser'
RSelenium::checkForServer()
RSelenium::startServer()
remDr <- remoteDriver()
remDr$open()
remDr$navigate(loginURL)
webElem <- remDr$findElement('name', 'username')
webElem$sendKeysToElement(list(user))
webElem <- remDr$findElement('name', 'password')
webElem$sendKeysToElement(list(pass))
remDr$findElement('name', 'submit')$clickElement()
dataURL <- "http://games.espn.go.com/ffl/clubhouse?leagueId=123456&teamId=8&seasonId=2014"
remDr$navigate(dataURL)
# YOU can get the page source for example 
pageSrc <- remDr$getPageSource()[[1]]
# now operate on pageSrc using for example library(XML) etc
# readHTMLTable(pageSrc) # for example
remDr$close()
remDr$closeServer()

最新更新