2015-09-07 17 views
8

Mam problem z logowaniem się w moim skrypcie. Pomimo wszystkich innych dobrych odpowiedzi, które znalazłem na stackoverflow, żadne z rozwiązań nie działało dla mnie.Skrobanie forum chronionego hasłem w r

Zbieram forum internetowe do moich badań doktoranckich, jego adres URL to http://forum.axishistory.com.

Strona, którą chcę zeskanować, to lista członków - strona z listą linków do wszystkich profili członków. Dostęp do listy członków można uzyskać tylko po zalogowaniu. Jeśli spróbujesz uzyskać dostęp do listy członków bez zalogowania, zobaczysz formularz logowania.

Adres URL listy członków jest następujący: http://forum.axishistory.com/memberlist.php.

Próbowałem httr-pakiet:

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

wyjście jest w formie dziennika.

Potem próbowałem RCurl:

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

wyjście jest w formie dziennika - po raz kolejny.

Potem próbowałem listę function() z tego tematu - 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) 

i ponownie! Dane wyjściowe to formularz logowania.

Następną rzeczą, nad którą pracuję jest RSelenium, ale po tych wszystkich próbach staram się dowiedzieć, czy prawdopodobnie czegoś brakuje (prawdopodobnie coś zupełnie oczywistego).

Mam spojrzał na innych odpowiednich stanowisk tutaj, ale nie mógł dowiedzieć się, jak zastosować kod do mojego przypadku:

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

myślę, że wystarczy umieścić swoją nazwę użytkownika i hasło do wszystkich fragmentów kodu. może chcesz je usunąć i zmienić hasło na odpowiedniej stronie. – WWhisperer

+0

To prawda! Teraz edytowane. Dziękuję Ci bardzo. –

+0

po kliknięciu "edytowane x min" temu nadal widzę twoje dane ... tylko podpowiedź do następnego wpisu. czy zmieniłeś swoje dane logowania na forum i gdziekolwiek z niego skorzystasz? :) – WWhisperer

Odpowiedz

6

Dzięki Simon Znalazłem odpowiedź tutaj: 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) 
Powiązane problemy