2016-11-23 1 views
0

Ich arbeite gerade an Immobiliendaten und wollte einige Daten von StreetEasy kratzen, das ist der Register to see what it closed for about 2 months ago unter aufgeführten Preis.Kratzen StreetEasy Seite mit Login Anforderung

Beispiel url http://streeteasy.com/sale/1220187

Die Daten-I erfordert Login benötigen, aber die Login-Mechanismus ist ziemlich anders. Es gibt keine Login-Seite und der Login ist ein Pop-up. Kann ich Python trotzdem benutzen, um die Authentifizierung zu erhalten und nach dem Login auf die Seite zuzugreifen, wie das Bild unten?

+0

Ich mache tatsächlich etwas sehr ähnliches, wohlgemerkt, nicht mit Immobilien-Websites. Haben Sie darüber nachgedacht, etwas wie "Phantomjs" und "Selen" zu verwenden? – Carlos

Antwort

0

Mit Selenium und PhantomJS erhalten Sie eine leistungsstarke Kombination, wenn es um das Scraping von Daten geht.

from selenium import webdriver 

host = "http://streeteasy.com/sale/1220187" 

driver = webdriver.PhantomJS() 

# Set the "window" wide enough so PhantomJS can "see" the right panel 
driver.set_window_size(1280, 800) 
driver.get(host) 

driver.find_element_by_link_text("Register to see what it closed for").click() 

driver.save_screenshot("output.jpg") 

Was Sie sehen, ist ein kleiner Ausschnitt aus wie Selen Sie auf der Webseite der Anmeldung erhalten können (über das JPG screencap prüft). Von dort, es ist eine Frage des Umschaltens der Login-Box, Bereitstellung der Anmeldeinformationen und click() Ihren Weg in.

Oh, und beachten Sie die TOS. Viel Glück!