Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
|
19.01.15, 13:37
|
#1
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 42
Bedankt: 3
|
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?
|
|
|
19.01.15, 16:10
|
#2
|
Newbie
Registriert seit: Oct 2010
Beiträge: 96
Bedankt: 80
|
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.
|
|
|
21.01.15, 23:21
|
#3
|
Anfänger
Registriert seit: Dec 2012
Beiträge: 13
Bedankt: 339
|
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.
|
|
|
24.01.15, 08:57
|
#4
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 493
Bedankt: 236
|
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
|
|
|
22.03.15, 13:39
|
#5
|
Anfänger
Registriert seit: Nov 2010
Beiträge: 3
Bedankt: 6
|
Schau dir mal jsoup an (jsoup.org).
|
|
|
27.03.15, 17:45
|
#6
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 24
Bedankt: 28
|
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 Mitglieder sichtbar. Bitte einloggen oder neu 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.
|
|
|
28.03.15, 13:57
|
#7
|
Anfänger
Registriert seit: Dec 2014
Beiträge: 9
Bedankt: 0
|
Zitat:
Zitat von mande
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 Mitglieder sichtbar. Bitte einloggen oder neu 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.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 Uhr.
().
|