Usando rvest ou httr para efetuar login em formulários não padrão em uma página da web
Estou tentando usar o rvest para criar uma página da web que requer um login de email / senha em um formulário.
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`)
Isso me dá a seguinte mensagem de erro:
Error in submit_request(form, submit) :
objeto 'ctl00 $ Header2 $ HeaderTop1 $ Button1' não encontrado
Se eu enviar o formulário sem especificar o parâmetro submit, recebo o seguinte:
Submitting with 'ctl00$Header2$HeaderTop1$Button1'
Error in function (type, msg, asError = TRUE) : <url> malformed
Eu também tentei passar os parâmetros diretamente para o httr, como mencionado nesta pergunta:Como POSTAR um formulário HTML simples no R?, mas o parâmetro "submit" não aceitou o botão de envio com aspas (``), aspas ou sem aspas:
library(httr)
url <- "http://www.perfectgame.org/Rankings/Players/Default.aspx?gyear=2015&num=500"
fd <- list(
submit = `ctl00$Header2$HeaderTop1$Button1`,
`ctl00$Header2$HeaderTop1$tbUsername` = "myemail@gmail.com",
`ctl00$Header2$HeaderTop1$tbPassword` = "mypassword")
resp<-POST(url, body=fd, encode="form")
content(resp)
Alguma idéia de como posso fazer login a partir de uma sessão R e extrair os dados que estão atrás do mural de login?