为什么';错误:长度(url)==1不正确';使用rvest刮网

为什么';错误:长度(url)==1不正确';使用rvest刮网,r,web-scraping,rvest,R,Web Scraping,Rvest,我正在尝试抓取web数据,但第一步需要登录。我已经成功地登录到其他网站,但我发现这个网站有一个奇怪的错误 library("rvest") library("magrittr") research <- html_session("https://www.fitchratings.com/") signin <- research %>% html_nodes("form") %&g

我正在尝试抓取web数据,但第一步需要登录。我已经成功地登录到其他网站,但我发现这个网站有一个奇怪的错误

library("rvest")
library("magrittr")    

research <- html_session("https://www.fitchratings.com/")

signin <- research %>%
  html_nodes("form") %>%
  extract2(1) %>%
  html_form() %>%
  set_values (
    'userName' = "abc",
    'password' = "1234"
     )

research <- research %>%
  submit_form(signin)
library(“rvest”)
图书馆(“magrittr”)
研究百分比
抽提物2(1)%>%
html_表单()%>%
设置值(
“用户名”=“abc”,
“密码”=“1234”
)
研究百分比
提交表格(签名)
当我运行“提交表单”行时,出现以下错误:

> research <- research %>%
+ submit_form(signin)
Submitting with '<unnamed>'
Error: length(url) == 1 is not TRUE
>研究%
+提交表格(签名)
以“”提交
错误:长度(url)==1不是真的

未命名提交是正确的b/c没有为登录按钮指定名称。感谢您的帮助

我也有同样的问题。为了让rvest的开发版本运行起来,我经历了一些困难,现在它工作得很顺利。我是这样做的:

第一件事。您需要安装RTools。确保R已关闭。可以在以下位置找到:。 安装Rtools的信息可以在这里找到(如果您使用的是Windows):github.com/stan-dev/rstan/wiki/Install-Rtools-for-Windows

启动R,然后安装“httr”和“Rcpp”库(如果您还没有)

安装“devtools”和相关的github安装程序。信息是可以找到的,但我会给你一个链接回购的快速总结

窗口:

install.packages("devtools")
library(devtools)
build_github_devtools()

#### Restart R before continuing ####
install.packages("devtools.zip", repos = NULL, type = "source")

# Remove the package after installation
unlink("devtools.zip")
Mac/Linux:

devtools::install_github("hadley/devtools")
现在,运行最后的步骤

library(httr)
library(Rcpp)
library(devtools)
install_github("hadley/rvest")
您现在应该能够运行
submit\u form(会话,表单)
而不会遇到错误

Submitting with 'xxxx'
Error: length(url) == 1 is not TRUE

这个例子仍然有效吗?当我运行它时,我得到了
错误:未知字段名:用户名,密码
。此外,这个问题似乎是由于rvest中的一个错误造成的,并且由rvest包作者解决了:不幸的是,自那以后,没有发布rvest的正式版本(带有修复)。但是,可以从github手动安装最新版本。注意:Rtools仅在Windows上是必需的。在Mac和Linux上,安装一个开发包非常简单(这是一个命令,如您的答案所示)。事实上,我很久没有使用CRAN了,我从Github安装了所有东西。