Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Webzeugs ::  Dynamischen Inhalt einer Seite erfassen: PHP PhantomJS?     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
herbert3
Unregistrierter




Beitrag herbert3 Unregistrierter 18:54:32 02.06.2017   Titel:   Dynamischen Inhalt einer Seite erfassen: PHP PhantomJS?            Zitieren

Hallo,

wie kann ich mit PHP von einer (dieser) Website den "dynamischen" Inhalt erfassen?

Wenn ich im Browser den Quelltext der Seite anzeigen lasse, bekomme ich nur das statische HTML angezeigt.
Mit den "Developer tools" (Chrome) hingegen sehe ich den dynamisch generierten Inhalt.

Die Frage ist jedoch wie ich mit PHP daran komme? Ich möchte im Endeffekt den Preis ("$1.0530") auslesen.

Ich habe da etwas zunächst Vielversprechendes gefunden: PHP PhantomJS
Jedoch scheint das nicht zu klappen:

(Mit Wrapper)
C++:
$myUrl = "https://www.iconomi.net/dashboard/#/INDEX";
$browser = \MTS\Factories::getDevices()->getLocalHost()->getBrowser('phantomjs');
$windowObj = $browser->getNewWindow($myUrl);
$domData = $windowObj->getDom();
echo $domData; // gibt nur statisches HTML aus..

(Ohne Wrapper, wie in Basic Usage)
C++:
$response->getContent(); // auch nur statisches HTML..


Was übersehe ich? Müsste nicht das JS ausgeführt werden und mir der Inhalt zurückgegeben werden, so wie es auch ein Browser machen würde?

Danke!
Shade Of Mine
Moderator

Benutzerprofil
Anmeldungsdatum: 04.05.2001
Beiträge: 20206
Beitrag Shade Of Mine Moderator 16:14:07 07.06.2017   Titel:              Zitieren

Schon probiert mit einem Delay zu arbeiten? Ich habe PhantomJS nie verwendet, aber bei vielen solchen Tools ist das Problem dass JavaScript ja Asynchron läuft und der Renderer nie weiß wann das JS jetzt fertig ist - sprich, ein 5 Sekunden delay oder so sollte dir das richtige Ergebnis liefern.

_________________
A language that doesn't affect the way you think about programming is not worth knowing.
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.
herbert3
Unregistrierter




Beitrag herbert3 Unregistrierter 23:17:21 07.06.2017   Titel:              Zitieren

Moment mal, async bei PHP? :o)
Nico D.
Mitglied

Benutzerprofil
Anmeldungsdatum: 28.09.2007
Beiträge: 359
Beitrag Nico D. Mitglied 11:34:38 19.06.2017   Titel:              Zitieren

AJAX? Ja, asynchron per PHP und Javascript. Das geht und ist eigentlich nicht unüblich.
herbert3
Unregistrierter




Beitrag herbert3 Unregistrierter 15:00:01 19.06.2017   Titel:              Zitieren

Moment Nico, du verwechselst da was.

"PHP PhantomJS" ist PHP Code, welcher das PhantomJS Backend (in meinem Fall ne .exe) anspricht. Und das verarbeitet eine gegebene Seite mit JS entsprechend wie ein Browser.
Der Output sollte das HTML sein, welches mit JS erzeugt wird.
Bei mir jedoch leider nur das HTML noch bevor JS etwas dran gemacht hat.

So versteh ich das jedenfalls..
C++ Forum :: Webzeugs ::  Dynamischen Inhalt einer Seite erfassen: PHP PhantomJS?   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.