Hug*_* S. 12 r web-scraping rvest
我正在尝试废弃网络数据,但第一步需要登录.我已成功登录其他网站,但我在这个网站上发生了一个奇怪的错误.
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)
Run Code Online (Sandbox Code Playgroud)
当我运行'submit_form'行时,我收到以下错误:
> research <- research %>%
+ submit_form(signin)
Submitting with '<unnamed>'
Error: length(url) == 1 is not TRUE
Run Code Online (Sandbox Code Playgroud)
使用未命名提交是正确的b/c没有为登录按钮分配名称.任何帮助赞赏!
小智 9
我遇到了同样的问题.我跳了几圈就得到了rvest的开发版本,现在它正在顺利运行.这是我如何去做的:
首先是第一件事.您需要安装RTools.确保R已关闭.这可以在这里找到:https://cran.r-project.org/bin/windows/Rtools/.有关安装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")
Run Code Online (Sandbox Code Playgroud)
Mac/Linux中
devtools::install_github("hadley/devtools")
Run Code Online (Sandbox Code Playgroud)
现在,运行最后的步骤.
library(httr)
library(Rcpp)
library(devtools)
install_github("hadley/rvest")
Run Code Online (Sandbox Code Playgroud)
您现在应该能够运行 submit_form(session, form)而不会遇到错误
Submitting with 'xxxx'
Error: length(url) == 1 is not TRUE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5683 次 |
| 最近记录: |