Использование rvest для входа в Web

#r #forms #login #rvest

#r #формы #аутентификация #rvest

Вопрос:

Я пытался войти на эту страницу, но получаю эту ошибку:

Ошибка: Неизвестные имена полей: customer[email], customer [пароль]

Мой код, это:

 library(XLConnect)
library(rvest)
{
 {
 #Address of the login webpage
 url <-"https://www.silversanz.com/es/account/login"
 }
 #create a web session with the desired login address
 pgsession<-html_session(url)
 pgform<-html_form(pgsession)
 filled_form<-set_values(pgform, 
                      'customer[email]'="mymail",
                      'customer[password]'="mypass"
                      )
 {
 url<-("https://www.silversanz.com/mi-cuenta/pedidos")
 }
 dades<-read_html(url)

 date<-dades %>% html_nodes("dd") %>% html_attr("order__date")
 total<-dades %>% html_nodes("dd") %>% html_attr("order__total")
 state<-dades %>% html_nodes("dd") %>% html_attr("order__state")

 info<-as.data.frame(cbind(date,state,total))
 info<-info[!is.na(info$id),]
 info<-info[!duplicated(info),]

 writeWorksheetToFile(file="C:/Users/...",
                   data=info,
                   sheet="item",
                   clearSheets=TRUE
                   )
}
  

Не могли бы вы мне помочь, пожалуйста?

Заранее спасибо 🙂

Ответ №1:

На веб-странице есть три формы. Вы можете увидеть это при доступе pgform . Поэтому вы должны указать тот, который вы хотите использовать. Я предполагаю, вы хотите войти в систему, которая является первой:

 filled_form<-set_values(pgform[[1]], 
                      'customer[email]'="mymail",
                      'customer[password]'="mypass")
  

Комментарии:

1. Готово! Спасибо 🙂