Raspagem com autenticação

Boa noite pessoal,

estou tentando raspar dados de um site que requer autenticação, mas sem sucesso. Aparentemente não consigo logar e nem ser direcionado para a pagina das buscas. Conseguem me dar uma luz ? Obrigado

login <- “http://archiviodistato.provincia.padova.it/leva/login.php
pars <- list(
username = “meu usuario”,
password = “minha senha”)
r_pag <- POST(login, body = pars)

consulta <- “http://archiviodistato.provincia.padova.it/leva/consulta.php
pars2 <- list(ricerca = ‘si’, cognome = ‘rossi’, nome = ‘antonio’, madre = ‘’,
localita =’’, nascita =’’, giorno =’’, mese =’’, anno= ‘’, ord = ‘cognome’)
test <- GET(consulta, body = pars2)
content(test)

De tudo o que está aqui, eu não sei exatamente o que precisa mas isso funcionou p/ mim:
Para a autenticação funionar precisava além do user e senha definir os outros parametros.
O mesmo para a busca, precisa ficar tudo igual à request que é feita pelo browser.

login <- httr::POST("http://archiviodistato.provincia.padova.it/leva/login.php",
                  body = list(
                    username = "user",
                    password = "senha",
                    sent = "send",
                    code = "log"
                  ),
                  encode = "form"
                  )

consulta <- httr::POST(
  "http://archiviodistato.provincia.padova.it/leva/consulta.php",
  encode = "form",
  body = list(
    ricerca= "si",
    cognome= "marco",
    nome= "marco",
    madre = "",
    localita= "",
    nascita= "",
    giorno= "",
    mese="",
    anno= "",
    ord= "cognome"
  ),
  httr::set_cookies(PHPSESSID = httr::cookies(login)$value)
)

rvest::html_table(xml2::xml_find_all(httr::content(consulta), '//*[@id="leva_risultati"]'))
1 curtida

Obrigado pela resposta! Acho que estou próximo do que estou tentando. O que preciso é raspar os dados da tabela das múltiplas páginas de resultado. Porém , quando uso seu código, obtive:

xml2::xml_find_all(httr::content(consulta), ‘//[@id=“leva_risultati”]’)
{xml_nodeset (0)}
rvest::html_table(xml2::xml_find_all(httr::content(consulta), '//
[@id=“leva_risultati”]’))
list()

Aparentemente não está coletando os dados da tabela de resultado. Fiquei com outras duvidas também. Na linha:

httr::set_cookies(PHPSESSID = httr::cookies(login)$value)

cookies(login)$value
[1] “6ocnc1rbbvnskn07p9c84tlma4”

Mas se eu olho no site tenho:

PHPSESSID = “v9tnn4gbkpsseh7fl14jaunhp1”

Tentei das duas formas mas sem sucesso.
Consegue dar uma luz aonde estou errando ?

Obrigado novamente!

qual pesquisa vc está fazendo? qual nome e sobrenome? pode ser pq não tenha nenhum resultado para a combinação que vc colocou?