PHP-Bibliothek zum Herunterladen des HTML einer vollständig geladenen Webseite einschließlich AJAX-hinzugefügter Teile

Ich brauche ein PHP-Skript (oder eine Funktion), das eine vollständige Webseite einschließlich AJAX-Teilen und Bildern laden kann, ich meine, wenn ich der URL einen vollständigen HTML-Code zurückgebe.

Bisher habe ich "simple_html_dom" und einige Curl-basierte Funktionen verwendet, aber keine davon funktioniert für AJAX-Teile.

Damit dies funktioniert, muss die Bibliothek wahrscheinlich einen Browser mit JavaScript simulieren, die Seite laden und warten, bis alle Elemente geladen/transformiert sind, bevor sie den HTML-Code übernimmt.

Es muss kostenlos sein, idealerweise Open Source.

Was meinst du can load a complete web page? cURL gibt Ihnen problemlos den gesamten HTML-Inhalt zurück. Wenn Sie wirklich eine perfekte Kopie mit Skripten und CSS erstellen möchten, die perfekt laufen, ist der einfachste Weg vielleicht einfach, eine iframe.
Ich meine ein Skript (oder Programm), das Browser simulieren und Javascript-Anfragen senden und den gesamten HTML-Code abrufen und dann den gesamten gesammelten HTML-Code zurückgeben kann.

Antworten (2)

Ich habe den Headless-Browser von PhantomJS verwendet , und er eignet sich hervorragend für solche Aufgaben - alles, was ein Browser tut, wird einer Skriptsprache anstelle einer GUI bereitgestellt. Ich vermute, dass es hauptsächlich deshalb so gut funktioniert, weil es dieselbe V8-JavaScript-Engine wie Chrome verwendet ... schade, dass das die falsche Skriptsprache für Sie ist ...

Mir ist aufgefallen, dass jemand einige PHP-Bindungen an die Phantom-API in einem Paket namens PHP PhantomJS erstellt hat . Ich habe es nicht verwendet, weil ich diese Funktionalität von PHP nie benötigt habe, aber das ist sicherlich der Weg, den ich in Betracht ziehen würde, wenn ich einen Headless-Browser in PHP verwenden möchte.

Um dies zu erreichen, würde ich Snoopy verwenden

Snoopy ist eine PHP-Klasse, die einen Webbrowser simuliert. Es automatisiert beispielsweise die Aufgabe, Webseiteninhalte abzurufen und Formulare zu veröffentlichen.

Um anzufangen, würde ich mir diesen Leitfaden ansehen, bitte sagen Sie mir, ob es funktioniert

Snnopy sieht für mich aus wie 37 KB schön angelegter PHP-Code? Ich habe nur einen kurzen Blick darauf geworfen, bin mir aber ziemlich sicher, dass JavaScript leider nicht ausgeführt werden kann.