2016-11-10 4 views
0

Ich bin ein kompletter Neuling für Web Scraping; Ich habe dieses kleine Projekt, einige Daten von COCA zu kratzen, aber ich weiß nicht einmal, wo ich anfangen soll. Es scheint, dass diese Webseite mit etwas Javascript erstellt wurde und ich frage mich, ob es ein Paket gibt, das es mir ermöglicht, damit zu interagieren? HierWie interagieren Sie mit einer JavaScript-Webseite mit Python?

ist einige Aufgaben, die ich mein Programm tun möchte:

  1. log in einem Konto verwendet wird;
  2. Wählen Sie eine Registerkarte (z. B. Suche, Diagramm, usw., siehe COCA);
  3. Geben Sie das Wort ein, das Sie im Lehrbuch suchen möchten.
  4. scrape die Suchergebnisse.

Alle Vorschläge würden sehr geschätzt werden.

PS: Im Idealfall sollte alles Backstage funktionieren (öffnet den Browser nicht).

+0

Dort gibt es auch [Selenium] (http://www.seleniumhq.org/), das Sie auch verwenden können, um js auf Websites auszuführen. – Marcin

+0

oder http://phantomjs.org – user1775888

+0

@Marcin Danke für die Antwort, ja, ich schaute in Selen, aber ich möchte nicht, dass mein Programm den Browser öffnet. Im Idealfall läuft alles hinter den Kulissen. Irgendein Vorschlag? – Bayesric

Antwort

0
from pyvirtualdisplay import Display 
from selenium import webdriver 

display = Display(visible=0, size=(800, 600)) 
display.start() 

browser = webdriver.Firefox() 
browser.get('http://www.google.com') 
print browser.title 
browser.quit() 

display.stop() 
+1

Beachten Sie, dass die Verwendung von pyvirtualdisplay mit visible = False Xvbf erfordert und daher nicht auf einem Windows-Computer verwendet werden kann. – np8

0

Wie einige Leute Ihnen gesagt haben, können Sie selenium verwenden. Ich empfehle Ihnen, in den Entwicklertools Ihres Browsers einzutreten und den Netzwerkanforderungen zu folgen, die die Seite bilden. Je nach Verhalten der Seite können Sie das mit dem Python-Modul request tun, um die Anfrage zu simulieren, die Sie gemacht haben die Seite, persönlich denke ich, dass es einfacher ist. Wenn Sie die Anforderung nicht emulieren können, verwenden Sie Selen.

Verwandte Themen