Wie kann ich die render-JavaScript-HTML-zu-HTML in python?

Ich mich umgesehen und nur Lösungen gefunden, die machen eine URL zu HTML. Aber ich brauche einen Weg, um in der Lage sein, um das Rendern einer Webseite (die ich schon habe, und das hat JavaScript), um die richtige HTML.

Wollen:
Webseite (mit JavaScript) ---> HTML

Nicht: URL --> Homepage (mit JavaScript) ---> HTML

Konnte ich nicht herausfinden, wie machen das andere code funktioniert, wie ich wollte.

Dies ist der code, den ich wurde mit dieser rendert URLs:
http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/

Für Klarheit, der obige code nimmt eine URL von einer Webseite, die einige Teile der Seite wiedergegeben, die per JavaScript, also, wenn ich das kratzen der Seite, die normalerweise mit sagen urllib2 dann habe ich nicht alle der links, usw., die gerendert werden, als nach dem JavaScript.

Aber ich möchte in der Lage sein zu kratzen, eine Seite, sagen wir wieder mit urllib2, und dann machen Sie die Seite und erhalten das Ergebnis in HTML. (Anders als bei den oben genannten code, da dauert es eine URL als argument.

Jede Hilfe ist willkommen, danke Jungs 🙂

  • Ich finde, was Sie wollen, ist unklar. Vielleicht können Sie ein Beispiel geben, was meinen Sie mit "Rendern einer Webseite, um die richtige HTML". Wollen Sie den eigentlichen DOM? Wollen Sie die textuelle HTML? Rendern kann getan werden, wenn Sie "füttern Sie die Webseite in einem browser" (d.h. öffnen Sie diese Textdatei mit einem browser), es ist also nicht klar, was anderes wollen Sie erreichen, dass nicht bereits durch den browser.
  • Jetzt haben Sie es klarer - ich würde mit Selenium Web Driver. Haben Sie sich überlegt, dass? Wenn Sie ein konkreteres Beispiel für Ihre urllib2 code, dann könnte ich in der Lage sein zu finden, um es mit einem entsprechenden Selen-code.
  • Jetzt ist es völlig unklar, was es ist, Sie wollen: "ich möchte dieses Teil aber in einer Weise, wie das erste Beispiel" - Aber das erste Beispiel nicht wissen. Er sagt nur in einem Kommentar "ich möchte die Darstellung von text und Holen Sie sich die pure HTML". Also willst du zum Rendern der URL, oder nicht??? Welchen Unterschied macht es, wenn Sie zuerst Holen sich die Daten aus der URL in eine Datei mit urllib2? In jedem Fall müssen Sie zum senden einer HTTP-Anforderung irgendwann. Sie können die text-Datei und führen Sie es in Selenium (oder jede andere Schaben-utility), aber es wird nicht anders sein als die Verwendung der URL direkt.
  • Die URL wird durch cloudflare geschützt, und ich weiß nicht, wie zu Holen, die umgangen url, denn es gibt mir die cloud flare blockieren Seite, wenn ich Holen die URL direkt. Ich habe einen Weg, um die umgangen HTML jedoch
  • So können Sie Holen Sie nur miturllib2? Wie ist das möglich???
  • Ich habe versucht zu geben, ein Vereinfachtes Beispiel, was ich versuche zu tun, kaufen obviouly gescheitert. Ich hol mit cfscraper mit dem .get(URL) - Methode, die wirkt wie urllibs .bekommen, aber umgeht die Seite
  • Und dann willst du zum Rendern der Daten in einem browser?
  • Die Seite hat cloud flare Schutz und einige JavaScript-generierten URLs. Ich möchte zu Holen die URLs, damit muss ich umgehen, cloud flare führen Sie dann die JavaScript-und Holen Sie sich die HTMLof, damit ich Holen kann diese URLs.
  • Haben Sie schon einmal versucht, öffnen Sie eine lokale HTML-Datei im browser? Der URL-Zeile sieht in etwa wie (zum Beispiel) "file:///C:/Users/Desktop/test.html". Ich Wette, dass wenn Sie verwenden, die als argument übergeben Render, dann erhalten Sie das Ergebnis, die Sie wünschen. Wenn nicht, dann bin ich sicher, dass Selen werden in der Lage sein zu behandeln, es richtig. Der Datei-Typ nicht zu html natürlich, so stellen Sie sicher, dass Sie das korrekte Datei-Pfad.
  • So schreibt Sie in eine HTML-Datei und übergeben Sie, wie eine lokale HTML-code aus dem link? Oder ist das noch mehr zu erschweren?
  • Probieren Sie es aus mit Render. Wenn es nicht funktioniert, dann probieren Sie es mit Selenium statt.
  • Hab es gerade versucht mich, Selen arbeitet für Sie sicher.
  • Könnten Sie ein einfaches Beispiel? Ich habe zu Hause werde ich installieren Selen jetzt und probieren Sie es aus.

InformationsquelleAutor user3928006 | 2015-04-02
Schreibe einen Kommentar