Ich bin gerade in Python und habe hauptsächlich mit BeautifulSoup gearbeitet, um Sportdaten aus dem Internet zu kratzen. Ich bin auf ein Problem mit einer Tabelle auf der PGA-Website gestoßen, wo es von Javascript erzeugt wird, hoffte, dass jemand mich durch den Prozess im Kontext der spezifischen Website führen könnte, mit der ich arbeite. Hier ist ein Beispiel Link "http://www.pgatour.com/content/pgatour/players/player.29745.tyler-aldridge.html/statistics" die Tabellen sind alle Spieler Statistiktabellen. Vielen Dank!Python Scraping von JavaScript Tabelle auf PGA Website
Antwort
Wenn eine Webseite JavaScript verwendet, um Inhalte zu erstellen oder zu erhalten, haben Sie kein Glück mit Tools, die HTML einfach aus dem Internet herunterladen. Sie benötigen etwas, das einen Webbrowser genauer nachahmt und JavaScript interpretiert. Mit anderen Worten, ein so genannter Headless-Browser. Es gibt einige da draußen, sogar einige mit guter Python-Integration. Sie können Ihre Reise beginnen, indem Sie nach PhantomJS
oder Selenium
suchen. Sobald Sie das Tool Ihrer Wahl ausgewählt haben, können Sie den Browser veranlassen, dass es funktioniert, und dann das DOM auf ähnliche Weise durchsuchen als mit BeautifulSoup
auf statischen Seiten.
Ich würde aber auch zuerst auf die Registerkarte Netzwerk des Debuggers Ihres Browsers schauen. Manchmal können Sie die GET
identifizieren, die tatsächlich die Tabellendaten vom Server erhält. In diesem Fall könnte es einfacher sein, die Daten selbst (z. B. über requests
) zu verwenden als komplexe Technologie, um es für Sie zu tun. Es ist auch sehr wahrscheinlich, dass Sie die gewünschten Informationen in JSON
erhalten, was es noch einfacher macht, sie zu verwenden. Die PGA-Seite macht GET
s Hunderte von Ressourcen zu bauen, aber es wird immer noch ein guter Handel, um durch sie zu durchsuchen.
Das ist interessant, etwas, das ich auf anderen Seiten kurz angeschaut habe, aber nie etwas gewonnen habe.Es sieht so aus, als ob das in diesem Fall der richtige Weg wäre, aber ich muss nur herumkramen und sehen, ob ich es herausfinden kann. –
Beendete die JSON-Feeds. Danke noch einmal! –
Sie benötigen JavaScript-Engine, um JavaScript-Code innerhalb der Seite zu analysieren und auszuführen. Es gibt eine Reihe von Headless Browser, die Sie
http://code.google.com/p/spynner/
http://github.com/ryanpetrello/python-zombie
http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/
helfen Auch, betrachten dies mit:
http://www.seleniumhq.org/docs/03_webdriver.jsp
Selen-WebDriver machen direkte Anrufe an den Browser jeden Browser-native Unterstützung für die Automatisierung verwenden. Wie diese Direktanrufe getätigt werden und welche Funktionen sie unterstützen, hängt vom verwendeten Browser ab. Informationen zu jedem "Browser-Treiber" finden Sie weiter unten in diesem Kapitel.
Für diejenigen, die mit Selenium-RC vertraut sind, ist dies ganz anders als das, was Sie gewohnt sind. Selenium-RC funktionierte für jeden unterstützten Browser auf die gleiche Weise. Es hat Javascript-Funktionen in den Browser "injiziert", als der Browser geladen wurde, und dann sein Javascript verwendet, um die AUT innerhalb des Browsers zu steuern. WebDriver verwendet diese Technik nicht. Auch hier wird der Browser direkt über die integrierte Unterstützung des Browsers für die Automatisierung gesteuert.
- 1. Scraping Javascript Website
- 2. Wie Web-Scraping von einer (Javascript?) Website?
- 3. Scraping Dokumente von der Klimawandel Website PYTHON
- 4. Scraping von Website, die
- 5. Wikipedia Tabelle Scraping mit Python
- 6. Scraping Probleme auf einer bestimmten Website
- 7. Scraping unserer Website auf Javascript-Fehler zu überprüfen
- 8. Python 2.7 BeautifulSoup, Website-Adressen Scraping
- 9. Scraping Javascript gerendert HTML-Seite in Python
- 10. Python-Website-Scraping mit Variablen aus Textdateien
- 11. Dynamische Tabelle Scraping mit Selen in Python
- 12. Python Scraping Website Links zu einer Liste
- 13. Scraping Website mit Sellerie
- 14. Scraping Javascript mit Selenium über Python
- 15. Scraping HTML-Daten von der Website in Python
- 16. PHP Web Scraping von Tabelle HTML-Tags
- 17. Scraping Javascript-generierte Daten mit Python
- 18. Scraping HTML und JavaScript
- 19. Web Scraping Javascript in Python/R
- 20. Scraping einer Website mit Scrapy und Selen
- 21. Scraping Javascript-Webseite mit BeautifulSoup und Python
- 22. Scraping Javascript Text mit Python und Selen
- 23. Scraping von aspx Website mit R
- 24. Scraping versteckte Inhalte von einer Javascript-Webseite mit Python
- 25. Scraping einer Website, die Authentifizierung erfordert
- 26. Screen Scraping mit Python
- 27. Web Scraping mit Python
- 28. Python "Scraping" Karten/Bilder
- 29. Scraping Werte von einer Webseite Tabelle
- 30. Python Web-Scraping Börsenpreise
Sie können entweder 'selen' anstelle des kopflosen Browsers verwenden (so dass Javascript ausgeführt wird und dann den HTML-Code parsen kann) oder Sie versuchen die API zu drücken, die das Javascript verwendet. –