2015-09-07 22 views
8

Ho un problema con il login nel mio script. Nonostante tutte le altre buone risposte che ho trovato su StackOverflow, nessuna delle soluzioni ha funzionato per me.Scraping forum protetto da password in r

Sto raschiando un forum Web per la mia ricerca di dottorato, il suo URL è http://forum.axishistory.com.

La pagina Web che voglio analizzare è la lista membri, una pagina che elenca i collegamenti a tutti i profili membri. È possibile accedere alla lista dei membri solo se si è connessi. Se si tenta di accedere alla lista membri senza effettuare l'accesso, viene visualizzato il modulo di accesso.

L'URL del membro membro è questo: http://forum.axishistory.com/memberlist.php.

Ho provato il HTTR pacchetto:

library(httr) 
members <- GET("http://forum.axishistory.com/memberlist.php", authenticate("username", "password")) 
members_html <- html(members) 

L'uscita è il log in forma.

Poi ho provato RCurl:

library(RCurl) 
members_html <- htmlParse(getURL("http://forum.axishistory.com/memberlist.php", userpwd = "username:password")) 
members_html 

L'uscita è il log in forma - ancora una volta.

poi ho provato la funzione() Lista da questa discussione - Scrape password-protected website in R:

handle <- handle("http://forum.axishistory.com/") 
path <- "ucp.php?mode=login" 

login <- list(
    amember_login = "username" 
    ,amember_pass = "password" 
    ,amember_redirect_url = 
    "http://forum.axishistory.com/memberlist.php" 
) 

response <- POST(handle = handle, path = path, body = login) 

e ancora! L'output è il modulo di accesso.

La prossima cosa su cui sto lavorando è RSelenium, ma dopo tutti questi tentativi sto cercando di capire se probabilmente manchi qualcosa (probabilmente qualcosa di completamente ovvio).

ho guardato in altri posti rilevanti in qui, ma non riuscivo a capire come applicare il codice per il mio caso:

How to use R to download a zipped file from a SSL page that requires cookies

Scrape password-protected website in R

How to use R to download a zipped file from a SSL page that requires cookies

https://stackoverflow.com/questions/27485311/scrape-password-protected-https-website-in-r

Web scraping password protected website using R

+0

Penso che hai appena messo il tuo nome utente e password in tutti i frammenti di codice. forse vuoi rimuoverli e cambiare la tua password sul sito corrispondente. – WWhisperer

+0

Questo è vero! Ora modificato. Grazie mille. –

+0

quando clicco su "modificato x minuti fa" posso ancora vedere i tuoi dati ... solo un suggerimento per il tuo prossimo post. hai cambiato i tuoi dati di accesso nel forum e ovunque tu possa utilizzarli? :) – WWhisperer

risposta

6

Grazie a Simon ho trovato la risposta qui: Using rvest or httr to log in to non-standard forms on a webpage

library(rvest) 
url  <-"http://forum.axishistory.com/memberlist.php" 
pgsession <-html_session(url) 

pgform <-html_form(pgsession)[[2]] 

filled_form <- set_values(pgform, 
         "username" = "username", 
         "password" = "password") 

submit_form(pgsession,filled_form) 
memberlist <- jump_to(pgsession, "http://forum.axishistory.com/memberlist.php") 

page <- html(memberlist) 

usernames <- html_nodes(x = page, css = "#memberlist .username") 

data_usernames <- html_text(usernames, trim = TRUE) 
Problemi correlati