相关疑难解决方法(0)

使用rvest或httr登录网页上的非标准表单

我试图使用rvest来蜘蛛网页,该网页需要在表单上登录电子邮件/密码.

rm(list=ls())
library(rvest)

### Trying to sign into a form using email/password 

url       <-"http://www.perfectgame.org/"   ## page to spider
pgsession <-html_session(url)               ## create session
pgform    <-html_form(pgsession)[[1]]       ## pull form from session

set_values(pgform, `ctl00$Header2$HeaderTop1$tbUsername` = "myemail@gmail.com") 
set_values(pgform, `ctl00$Header2$HeaderTop1$tbPassword` = "mypassword")

submit_form(pgsession,pgform,submit=`ctl00$Header2$HeaderTop1$Button1`)
Run Code Online (Sandbox Code Playgroud)

这给我以下错误信息:

Error in submit_request(form, submit) : 
Run Code Online (Sandbox Code Playgroud)

找不到对象'ctl00 $ Header2 $ HeaderTop1 $ Button1'

如果我在没有指定submit参数的情况下提交表单,我会得到:

Submitting with 'ctl00$Header2$HeaderTop1$Button1'
Error in function (type, msg, asError = TRUE)  : <url> malformed
Run Code Online (Sandbox Code Playgroud)

我也尝试将参数直接传递给httr,如本问题所述:如何在R中发布一个简单的HTML表单?,但"submit"参数不接受提交按钮,使用向后引号(``),引号或没有任何引号:

library(httr)

url <- "http://www.perfectgame.org/Rankings/Players/Default.aspx?gyear=2015&num=500"

fd <- list(
    submit = `ctl00$Header2$HeaderTop1$Button1`, …
Run Code Online (Sandbox Code Playgroud)

html forms r rvest

22
推荐指数
1
解决办法
9415
查看次数

在 R 中使用 rvest 填充和提交搜索

我正在学习如何填写表格并rvest在 R 中提交,当我想在 stackoverflow 中搜索 ggplot 标签时,我陷入了困境。这是我的代码:

url<-"https://stackoverflow.com/questions"

(session<-html_session("https://stackoverflow.com/questions"))

(form<-html_form(session)[[2]])
(filled_form<-set_values(form, tagQuery = "ggplot"))
searched<-submit_form(session, filled_form)
Run Code Online (Sandbox Code Playgroud)

我有错误:

Submitting with '<unnamed>'
Error in parse_url(url) : length(url) == 1 is not TRUE
Run Code Online (Sandbox Code Playgroud)

按照这个问题(表单提交时出现 rvest 错误)我尝试了几种方法来解决这个问题,但我不能:

filled_form$fields[[13]]$name<-"submit"
filled_form$fields[[14]]$name<-"submit"
filled_form$fields[[13]]$type<-"button"
filled_form$fields[[14]]$type<-"button"
Run Code Online (Sandbox Code Playgroud)

任何帮助家伙

r rvest

7
推荐指数
1
解决办法
164
查看次数

标签 统计

r ×2

rvest ×2

forms ×1

html ×1