Gibt es eine Möglichkeit, die ausgeführten Javascript-Inhalte von einer Webseite zu bekommen? Ich habe versucht Anfragen + BeautifulSoup, mechanize, diese ergeben mich mit "Quellcode" der Webseite und nicht das executed javascript. Zum Beispiel diese Website: - Ссылка
Wie Sie sehen, wird im Quellcode JS nicht ausgeführt, aber wenn Sie das Element untersuchen, sehen Sie den ausgeführten Code.
Nun, gibt es irgendeinen Weg, wie ich diesen EXECUTED-Code in Python bekommen könnte? Hinweise bitte, weil ich versucht habe, einen Browser zu emulieren, der mechanize verwendet und es tut dasselbe wie reuqests. Danke
Tatsächlich wird die JavaScript-Engine für die Ausführung von Javascript benötigt. Python ist eine Sprache mit einem eigenen Interpreter (Compiler!) Zur Ausführung von Python-Code. Dies sind zwei verschiedene Technologien. Also, wenn Sie Javascript von Python ausführen möchten, muss Python API oder eine Art von Bindungen, die mit der Engine interagieren Javascript ausführt. Glücklicherweise hat Python Interaktivität mit mehreren JS-Engines, um Web-bezogene Arbeiten zu implementieren (Testen usw.). Dieser interoperable JS kann wie folgt in zwei Gruppen unterteilt werden:
Einfaches Beispiel für die Ausführung von JS in Selen Python wie folgt -
%Vor%Nur zum Hervorheben - Python führt Ihren Js-Code nicht aus, aber Laufzeit tut es. Hier ist ein Beispiel für das Python-Modul, das die verfügbare Laufzeit auswählt und Code für Sie auswertet.
Sehen Sie sich PyExecJS an , hier finden Sie einige Beispiele, aber berücksichtigen Sie, dass es keine Browser-APIs enthält wie DOM, Html5 Api, etc. Es basiert hauptsächlich auf js-Engine-Fähigkeiten.
Eine weitere große Frage, was ist der Grund, Code in der Python zu bewerten?
Ja, Sie müssen ein Werkzeug auswählen, das Javascript-Inhalte unterstützt, andere zu Mechanikern. Mechanik ist nur für statischen Inhalt wie du schon beobachtet hast. Es gibt mehrere, gefunden durch Suchbegriffe "Python Alternative zur Mechanik". Ich würde PhantomJS testen, wenn ich einen auswählen müsste.
Auch einige andere sind in den anderen Antworten in den Kommentaren gefunden, nur wollte ich diese als Kommentare zu hinterlassen, um zu vermeiden "SO ist nicht eine Auswahl Ihr Lieblings-Tool Empfehlung Website" Problem und damit nur die universelle Lösung ist erwähnt. Also, bitte haben Sie eine kleine Suche;)
Tags und Links javascript python-2.7 browser request