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?