2016-08-04 23 views
1

Ich habe einige Codes zum scraping Verkehrsdaten basierend this topic entwickelt. Ich muss viele Seiten nach dem Einloggen kratzen, aber im Moment scheinen meine Codes wiederholt auf der Website für jede URL einloggen. Wie kann ich die Sitzung wiederverwenden, um eine wiederholte Anmeldung zu vermeiden, damit die Codes hoffentlich schneller ausgeführt werden können? Hier ist der Pseudo-Code:Wie Sie eine Sitzung wiederverwenden, um wiederholtes Login beim Scraping mit Rvest zu vermeiden?

Ich lese die RV-Dokumentation, aber es gibt keine solchen Details drin. Meine Frage: Wie kann ich die Sitzung "wiederverwenden", um eine wiederholte Anmeldung zu vermeiden? Vielen Dank!

Antwort

1

Sie können etwas tun:

require(rvest) 
pgsession <- html_session(mainPageURL) 
pgform <- html_form(pgsession)[[1]] 
filled_form <- set_value(pgform, 'username'='myUserName', 'password'='myPW') 
s <- submit_form(pgsession, pgform) # s is your logged in session 

vectorOfContent <- vector(mode='list', length=3) 

for (siteID in siteIDList){ 
    url <- generateURL(siteID) 
    # jump_to navigates within the session, read_html parses the html 
    vectorOfContent[[siteID]]=s %>% jump_to(generateURL) %>% read_html() 
    } 
+0

Thank you! Das jump_to() ist im Wesentlichen wonach ich suche. Entschuldigung für die späte Antwort. – user3768495