Использование rvest для входа в сеть - PullRequest
0 голосов
/ 19 марта 2019

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

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

Myкод это:

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 Ответ

0 голосов
/ 19 марта 2019

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

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