Я новичок в использовании R для публикации форм, а затем загрузки данных из Интернета. У меня есть вопрос, который, вероятно, очень легко понять, что я делаю неправильно, поэтому я ценю ваше терпение. У меня есть ПК с Win7, и Firefox 23.x — мой типичный браузер.
Я пытаюсь опубликовать основную форму, которая отображается на
У меня есть следующий R-скрипт:
your.username <- 'username'
your.password <- 'password'
setwd( "C:/Users/Desktop/Aplia/data" )
require(SAScii)
require(RCurl)
require(XML)
agent="Firefox/23.0"
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
curl = getCurlHandle()
curlSetOpt(
cookiejar = 'cookies.txt' ,
useragent = agent,
followlocation = TRUE ,
autoreferer = TRUE ,
curl = curl
)
# list parameters to pass to the website (pulled from the source html)
params <-
list(
'userAgent' = agent,
'screenWidth' = "",
'screenHeight' = "",
'flashMajor' = "",
'flashMinor' = "",
'flashBuild' = "",
'flashPatch' = "",
'redirect' = "",
'referrer' = "http://www.aplia.com",
'txtEmail' = your.username,
'txtPassword' = your.password
)
# logs into the form
html = postForm('https://courses.aplia.com/', .params = params, curl = curl)
html
# download a file once form is posted
html <-
getURL(
"http://courses.aplia.com/af/servlet/mngstudents?ctx=filename" ,
curl = curl
)
html
Но оттуда я могу сказать, что я не получаю страницу, которую хочу, поскольку то, что возвращается в html, представляет собой сообщение перенаправления, которое, кажется, просит меня снова войти в систему (?):
"\r\n\r\n<html>\r\n<head>\r\n <title>Aplia</title>\r\n\t<script language=\"JavaScript\" type=\"text/javascript\">\r\n\r\n top.location.href = \"https://courses.aplia.com/af/servlet/login?action=form&redirect=%2Fservlet%2Fmngstudents%3Fctx%3Dfilename\";\r\n \r\n\t</script>\r\n</head>\r\n<body>\r\n Click <a href=\"https://courses.aplia.com/af/servlet/login?action=form&redirect=%2Fservlet%2Fmngstudents%3Fctx%3Dfilename\">here</a> to continue.\r\n</body>\r\n</html>\r\n"
Хотя я считаю, что после успешной отправки формы (вручную, в браузере) происходит ряд перенаправлений. Как я могу убедиться, что форма была размещена правильно?
Я совершенно уверен, что как только я смогу заставить пост работать правильно, у меня не будет проблем с направлением R для загрузки файлов, которые мне нужны (отчеты об онлайн-активности для каждого из моих 500 студентов в этом семестре). Но потратил несколько часов, работая над этим, и застрял. Может быть, мне нужно установить дополнительные параметры пакета RCurl, связанные с файлами cookie (поскольку сайт использует файлы cookie) ---?
Любая помощь так ценится!! Я обычно использую R для обработки статистических данных, поэтому я новичок в этих пакетах и функциях.