2

我一直在尝试一切我可以在网上找到的登录并设置 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 来抓取表格?我也在数据页面上尝试了登录参数,但仍然被重定向到登录屏幕。

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

4

1 回答 1

1

应该RCurl可以使用 selenium 并驱动浏览器来跟踪位置等:

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()
于 2014-09-07T18:50:25.650 回答