首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RCurl表单登录

RCurl表单登录
EN

Stack Overflow用户
提问于 2014-06-20 03:17:43
回答 1查看 1.2K关注 0票数 2

我已经读了下面的问题,但不能很好地解决这个问题。尝试通过张贴表单登录网站。请阅读以下内容:

工作示例:

正在加载程序包:

代码语言:javascript
复制
install.packages("RHTMLForms", repos = "http://www.omegahat.org/R", type = "source") require(RHTMLForms) 
require(RCurl) 
require(XML)

我正在连接到https://www.moodys.com/

代码语言:javascript
复制
 url <- getURL("https://www.moodys.com/", 
               cainfo = system.file("CurlSSL",
               "cacert.pem", package = "RCurl"))

获取登录表单:

代码语言:javascript
复制
forms <- getHTMLFormDescription(url)

并将表单发回:

代码语言:javascript
复制
fun <- createFunction(forms$aspnetForm)
results <- fun(MdcUserName = "xxx@xxx", MdcPassword="xxxx")

这给出了以下错误消息:

代码语言:javascript
复制
Error in function (type, msg, asError = TRUE)  : 
  Could not resolve host: NA; Host not found

我知道复制/解决此错误可能需要有效的用户名和密码,但非常感谢。

类似的问题:

R - posting a login form using RCurl

https://stackoverflow.com/questions/19327001/https-php-login-via-rcurl-post

What if I want to web scrape with R for a page with parameters?

EN

回答 1

Stack Overflow用户

发布于 2014-06-20 04:01:48

您可以使用SeleniumRSelenium登录到该网页

代码语言:javascript
复制
library(RSelenium)
RSelenium::startServer()
appURL <- "http://www.moodys.com"
username <- "someuser"
password <- "somepass"
remDr <- remoteDriver()
remDr$open()
remDr$navigate(appURL)
logIn <- remDr$findElement("id", "LoginText")
logIn$clickElement()
userName <- remDr$findElement("id", "MdcUserName")
userName$sendKeysToElement(list(username))
passWord <- remDr$findElement("id", "MdcPassword")
passWord$sendKeysToElement(list(password))
logIn <- remDr$findElement("id", "LoginImageButton")
logIn$clickElement()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24314622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档