myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Ergebnis einer Website in Java (https://mygully.com/showthread.php?t=3596008)

Powderjunky 19.01.15 13:37

Ergebnis einer Website in Java
 
Hi,

den HTML Quelltext einer Website kann ich parsen. Das Problem ist jetzt aber, dass es Seiten gibt die dynamisch zusammengebaut werden z.B. über Javas*****, dort steht dann in dem HTML Quelltext natürlich nicht die Ausgabe. Wenn ich jetzt aber über meinen Browser diese Seite aufrufe, bekomme ich ja eine Website mit "Inhalt" also dort stehen ja Daten drin. Und genau diese Daten möchte ich mit einem Java Programm auslesen um damit weiter arbeiten zu können.
Allerdings habe ich keinen blassen Schimmer wie das gehen soll. Mit java muss ich doch eine Anfrage an den Server stellen können genau wie ein Browser, der Server schickt mir dann einen HTML-Stream zurück und der Browser stellt mir das ganze dann ja optisch dar. Nur wie komme ich mit Java an den HTML Stream den der Bowser bekommt?
Jemand eine Idee?

Delta538 19.01.15 16:10

Wenn ich mich richtig erinnere wird Javas***** erst im Browser interpretiert somit kannst du nicht einfach davon ausgehen, dass du deine Website komplett bekommst wenn du dir nur die HTML-Datei holst.

Sofern ich mich nicht irre, musst du also einen Browser simulieren, der mit Hilfe eines JavaS***** Interpreters die Sachen direkt übersetzt und auf den HTML-Source anwendet.

saschi123 21.01.15 23:21

HTML, CSS und Javas*****(meistens includes) sind Clientseitig, was heißt das ganze jetzt, diese Daten kannst du dir ohne Probleme ziehen. (Sollte alles per Quelltext anzeigen holbar sein)

Du kannst aber nicht an PHP und anderen Serverseitigen S*****s kommen außer du hackst den Server oder baust diese nach.

Ich hoffe ich konnte dir etwas helfen.

Thelvan 24.01.15 08:57

Du musst das selbe wie der Browser machen. Ein GET auf die URL und du bekommst den Stream, den auch der Browser bekommen würde

jimbeam87 22.03.15 13:39

Schau dir mal jsoup an (jsoup.org).

mande 27.03.15 17:45

Wenn du das Dokument genauso auslesen willst wie es der Browser darstellt bleibt dir nichts anderes übrig als clientseitige S*****s ablaufen zu lassen und erst dann den Dom-Tree zu holen.
Mittels Java kann ich dir hierfür 2 Möglichkeiten empfehlen.

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] wird z.B. für Automatentests verwendet um das UI von HTML-Seiten programmatisch zu testen. Ist jedoch nicht darauf beschränkt.

Spätestens seit Java 8 ist JavaFX auch tatsächlich in der Runtime angekommen, darin gibts einen eigenen Browser namens WebView, verwendet im Hintergrund denselben Renderer bzw. S*****engine wie Chrome. Mit diesem kannst du auch sobald die Webseite im Hintergrund fertig geladen wurde das aktuelle Dokument holen.

Wodddy 28.03.15 13:57

Zitat:

Zitat von mande (Beitrag 26657996)
Wenn du das Dokument genauso auslesen willst wie es der Browser darstellt bleibt dir nichts anderes übrig als clientseitige S*****s ablaufen zu lassen und erst dann den Dom-Tree zu holen.
Mittels Java kann ich dir hierfür 2 Möglichkeiten empfehlen.

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] wird z.B. für Automatentests verwendet um das UI von HTML-Seiten programmatisch zu testen. Ist jedoch nicht darauf beschränkt.

Spätestens seit Java 8 ist JavaFX auch tatsächlich in der Runtime angekommen, darin gibts einen eigenen Browser namens WebView, verwendet im Hintergrund denselben Renderer bzw. S*****engine wie Chrome. Mit diesem kannst du auch sobald die Webseite im Hintergrund fertig geladen wurde das aktuelle Dokument holen.


Die beste Antwort hier!

Meiner Meinung nach würde ich auch es mit DOM Tree nachschauen!
Sollte eigentlich kein Problem sein...

Im Quelltext stehen eigentlich alle Verlinkungen, die für die aktuelle Seite zuständig sind. Ist also lediglich ein Frage des Lesers.... Auch die php-Verlinkungen sind drin enthalten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.