HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt?

sirbender

Top Contributor
Man kann in Chrome, Firefox, Brave, Opera, usw. bekanntermassen auf "Show Source" klicken und bekommt den HTML code angezeigt. Heutzutage wird viel des HTML auch dynamisch generiert oder per Javascript in irgendeiner Form nachgeladen. Wenn ich aber den HTML zwischen Browsern vergleiche ist dieser sehr ähnlich.

Wenn ich jetzt versuche denselben HTML code per Java code zu bekommen, bekomme ich selten HTML der ähnlich dem HTML ist, den irgendein Browser liefert. Oft fehlen ganze Bereiche des HTML - ich nehme an nicht-statischer Code der irgendwie nachgeladen wird? Das Ergebnis kann man verbessern, indem man z.B. einen "User-Agent" eines Browsers definiert und dem "Connection" Object als Request-Property hinzufügt. Wirklich TOLL bzw. nahe dem Browser-HTML ist das "von Java geholte HTML" dadurch in vielen Fällen aber nicht.

Gibt es irgendeine Library in Java, die ähnlichen HTML code zurückliefert, wie dies auch ein Browser tun würde?
 

sirbender

Top Contributor
was willst du denn mit der website dann tun ?

Gewissen Text rausholen. Nur wenn der Text nicht da ist, kann ich den natürlich auch nicht rausholen. Zum Beispiel will ich ein Keyword definieren. Ist das Keyword weg, gibt es einen Alarm. Das Keyword ist Teil der Website. Nun checke ich alle Stunde ob das Keyword noch da ist. Wird die Website abgeändert und das Keyword verschwindet, gibt es den Alarm. Im Browser ist der HTML code korrekt und das Keyword ist da. In Java kriege ich sehr durchwachsenen HTML zurück. Je nach Website ist das was ich zurückbekomme manchmal ausreichend um ein Keyword zu finden, dass für den Alarm geschaffen ist. In den allermeisten Fällen aber nicht.
Im Browser-HTML ist das Keyword immer da und ich könnte auf der Basis damit arbeiten.
 

KonradN

Super-Moderator
Mitarbeiter
Macht es da nicht Sinn, eine Tool wie Selenium zu nutzen, das halt mehr oder weniger den Browser automatisiert?

Und auch der Hinweis: Das ist natürlich nur eine Krücke. Gibt es bei der Webseite keine API? Oder Webhooks für das Ereignis, das Dich interessiert?
 

Neumi5694

Top Contributor
Gewissen Text rausholen. Nur wenn der Text nicht da ist, kann ich den natürlich auch nicht rausholen. Zum Beispiel will ich ein Keyword definieren. Ist das Keyword weg, gibt es einen Alarm. Das Keyword ist Teil der Website. Nun checke ich alle Stunde ob das Keyword noch da ist. Wird die Website abgeändert und das Keyword verschwindet, gibt es den Alarm. Im Browser ist der HTML code korrekt und das Keyword ist da. In Java kriege ich sehr durchwachsenen HTML zurück. Je nach Website ist das was ich zurückbekomme manchmal ausreichend um ein Keyword zu finden, dass für den Alarm geschaffen ist. In den allermeisten Fällen aber nicht.
Im Browser-HTML ist das Keyword immer da und ich könnte auf der Basis damit arbeiten.

Naja, alle Browser haben eine eigene Engine, die eben genau all die Aufgaben erledigt, Scripte ausführt usw.

Du brauchst also entweder eine auf Java basierende Engine oder eine Möglichkeit, den Quelltext aus deinem Browserfenster abzugreifen.

Als Plugin für letzteren wäre das Ganze vielleicht sinnvoller
 
Y

yfons123

Gast
Du brauchst also entweder eine auf Java basierende Engine oder eine Möglichkeit, den Quelltext aus deinem Browserfenster abzugreifen.
javafx webview hat eine web engine und kann javascript ausführen und der seite direkt hinzufügen ... wäre vllt eine möglichkeit
dass javafx sozusagen nur den job übernimmt einen alarm zu geben und die html seite zu laden und javascript hinzuzufügen

damit kannst du dir nach lust laune javascript erweiterungen schreiben
 

sirbender

Top Contributor
Macht es da nicht Sinn, eine Tool wie Selenium zu nutzen, das halt mehr oder weniger den Browser automatisiert?

Und auch der Hinweis: Das ist natürlich nur eine Krücke. Gibt es bei der Webseite keine API? Oder Webhooks für das Ereignis, das Dich interessiert?
Das soll ein allgemeines Tool sein. Nicht auf eine einzige Website oder API zugeschnitten.

Ich kenne mich mit Selenium nicht aus. Ich schau es mir mal an. Danke.
 

sirbender

Top Contributor
Macht es da nicht Sinn, eine Tool wie Selenium zu nutzen, das halt mehr oder weniger den Browser automatisiert?

Und auch der Hinweis: Das ist natürlich nur eine Krücke. Gibt es bei der Webseite keine API? Oder Webhooks für das Ereignis, das Dich interessiert?

Selenium funktioniert. Recht nervig, dass immer ein Firefox-Browser aufgeht. Ich frage mich, ob man das Browser-Fenster irgendwie nicht sichtbar aufrufen kann. Ich bin unter Linux. Vielleicht auf einem anderen Workspace? Oder man legt die Position und Grösse des Browserfensters fest um es so unsichtbar zu machen. Muss ich mal alles googeln...ausser jemand weiss, dass das unmöglich ist?

Vielen Dank. Der HTML code passt jetzt.

P.S.: verstecken geht. Headless ;)
 
Y

yfons123

Gast
die webapp nimmt wie javafx eine website und simuliert sie in eine desktop anwendung rein mehr oder weniger und diese kannst du dann ausbauen und javascript anklinken... solange du den link hast wird das auch mit jedem link gehen
 

sirbender

Top Contributor
die webapp nimmt wie javafx eine website und simuliert sie in eine desktop anwendung rein mehr oder weniger und diese kannst du dann ausbauen und javascript anklinken... solange du den link hast wird das auch mit jedem link gehen
Puhhh...klingt kompliziert. Selenium funktioniert tadellos. Sehr langsam (weil es jedesmal erst einen echten Browser im Hintergrund startet) aber es funktioniert. Praktisch 1:1 das HTML, dass auch z.B. Firefox liefern würde.
 
Y

yfons123

Gast
Java:
import java.io.IOException;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class JavaFXwebView extends Application {
    @Override
    public void start(Stage stage) throws Exception { 
        stage.setTitle("title");
        WebView webView = new WebView();
        webView.getEngine().load("http://google.com");
        VBox vBox = new VBox(webView);
        Scene scene = new Scene(vBox, 960, 600);
        stage.setScene(scene);
        stage.show();   
    }
    public static void main(String[] args) throws IOException {
        launch(args);
    }
}
für javascript gibts eine "add" methode dann wird der javascript string unten an das geladene html dokument dran geheftet
javscript wird als string übergeben

javafx öffnet keinen browser sondern startet seine eigene web engine ( die dein browser auch hat ) um javascript usw ausführen zu können
 

sirbender

Top Contributor
Java:
import java.io.IOException;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class JavaFXwebView extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        stage.setTitle("title");
        WebView webView = new WebView();
        webView.getEngine().load("http://google.com");
        VBox vBox = new VBox(webView);
        Scene scene = new Scene(vBox, 960, 600);
        stage.setScene(scene);
        stage.show();  
    }
    public static void main(String[] args) throws IOException {
        launch(args);
    }
}
für javascript gibts eine "add" methode dann wird der javascript string unten an das geladene html dokument dran geheftet
javscript wird als string übergeben

javafx öffnet keinen browser sondern startet seine eigene web engine ( die dein browser auch hat ) um javascript usw ausführen zu können

Danke. Und an den HTML code des WebView kommt man leicht ran?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
S HTML den ich von einer URL hole nicht identisch mit dem HTML im Browser Allgemeine Java-Themen 1
I HTML einer Website auslesen liefert nur head Allgemeine Java-Themen 6
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
OnDemand Substring einer HTML Seite will nicht Allgemeine Java-Themen 5
S BufferedReader/PrintWriter an einer HTML Allgemeine Java-Themen 6
W Saubere Lösung für das Auslesen einer Html Seite (Mehrsprachigkeit) Allgemeine Java-Themen 5
S quelltext einer html-seite auslesen Allgemeine Java-Themen 3
L Whitespace in einer html Site entfernen Allgemeine Java-Themen 10
P Öffnen einer HTML-Datei Allgemeine Java-Themen 6
S HTML Seitenaufruf aus einer Java Application Allgemeine Java-Themen 5
F Verzeichnisse auslesen / auflisten in einer html Allgemeine Java-Themen 2
B html Dokumente von einer DVD auslesen Allgemeine Java-Themen 24
M ImageSize anhand eines Bildes aus einer HTML-Seite Allgemeine Java-Themen 2
L zwei html dateien vegleichen und zu einer html zusammenfügen Allgemeine Java-Themen 7
S Bookmark HTML Datei einlesen, alle Links erhalten und manche editieren..? (aktuell JSoup) Allgemeine Java-Themen 4
I HTML / XHTML Seite nach Excel exportieren. Suche Lib Allgemeine Java-Themen 12
F Kennt ihr eine Library um 2 HTML Seiten zu diffen? Allgemeine Java-Themen 8
K HTMLEditor HTML Text in Rich Text umwandeln Allgemeine Java-Themen 14
N Value Wert aus HTML-Button mittels thymeleaf spring an java übergeben Allgemeine Java-Themen 2
N Lottowebsite programmieren mittels Java, HTML,.... Allgemeine Java-Themen 7
M Html Seite auslesen Allgemeine Java-Themen 16
Developer_X Website HTML Code von HTTPS URL laden Allgemeine Java-Themen 0
L HTML Formular ausführen Allgemeine Java-Themen 1
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
A Applet in HTML einbinden Allgemeine Java-Themen 1
KeVoZ_ JSoup - HTML Tag entfernen Allgemeine Java-Themen 1
perlenfischer1984 HTML Code decodieren Allgemeine Java-Themen 2
P HTML Text bearbeiten Allgemeine Java-Themen 1
A Probleme beim auslesen von Quelltext (HTML) Allgemeine Java-Themen 5
OnDemand String aus html einlesen Allgemeine Java-Themen 2
S Applet in html laden; InvocationTargetException,.. nur warum ? Allgemeine Java-Themen 0
R HTML Tabelle durchsuchen Allgemeine Java-Themen 3
L Erste Schritte Eclipse und Lokal funktioniert - in HTML nicht! Allgemeine Java-Themen 2
T Keyword Highlighting in HTML Allgemeine Java-Themen 5
B Best Practice HTML Output Optimal implementieren Allgemeine Java-Themen 3
A jEditorPane Html Datei öffnen (code) Allgemeine Java-Themen 3
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
H HTML Parsing errors Allgemeine Java-Themen 9
P Aktuellen HTML Code auslesen (von JS manipuliert) Allgemeine Java-Themen 3
M HTML-Code von Webseite über Browser oder Console auslesen?? Allgemeine Java-Themen 5
S Robuste Methode um Text von HTML code zu extrahieren..? Allgemeine Java-Themen 6
S Bekomme mit Scanner und URL keine Html-Seite ausgelesen Allgemeine Java-Themen 3
C JEditorPane langsam großes HTML Allgemeine Java-Themen 8
M html aus aktuellem Browserfenster mitlesen lassen Allgemeine Java-Themen 5
T Kann HTML Datei nicht lesen Allgemeine Java-Themen 3
S HTML-Quelltext nach bestimmter Stelle durchsuchen Allgemeine Java-Themen 2
B HTML Tags in Strings umwandeln Allgemeine Java-Themen 4
T HTML Tag Position mittels Pattern ermitteln Allgemeine Java-Themen 7
C Attribute aus HTML Tags auslesen Allgemeine Java-Themen 6
M Wicket Html Allgemeine Java-Themen 2
S Fehler beim ausführen des HTML Allgemeine Java-Themen 7
S Fehler Applet-HTML Allgemeine Java-Themen 5
B suchfunktion in html integrieren Allgemeine Java-Themen 3
DEvent Wieso ist Javadoc mit Html Tags? Allgemeine Java-Themen 47
P RegEx mit HTML Parser für Java möglich? Allgemeine Java-Themen 10
B RTF zu HTML Allgemeine Java-Themen 3
S Von HTML-Seite den Titel bekommen Allgemeine Java-Themen 2
M .jar in HTML einbinden Allgemeine Java-Themen 5
H Kleiner HTML Parser (Facharbeit) Allgemeine Java-Themen 11
K iText, HTML Einrückung im Document, aber nicht im Paragraph Allgemeine Java-Themen 3
J Überprüfen ob URL eine HTML Datei referenziert Allgemeine Java-Themen 4
E Zeilenumbruch html Allgemeine Java-Themen 3
J URLs aus HTML Datei extrahieren Allgemeine Java-Themen 2
G Swing JEditorPaneAppender (Output im HTML-Format) Allgemeine Java-Themen 12
W Java Anwendung in HTML Allgemeine Java-Themen 2
M Html Unit Whitespace-Problem Allgemeine Java-Themen 4
J HTML-Sonderzeichen ersetzen Allgemeine Java-Themen 2
M HTML-Websiten verarbeiten Allgemeine Java-Themen 8
A Index Datei aus HTML-Dateien Allgemeine Java-Themen 7
S HTML => DOM - Welcher Parser für meine Zwecke? Allgemeine Java-Themen 3
I HTML Seite laden Allgemeine Java-Themen 6
M String in Html Text umwandeln Allgemeine Java-Themen 2
S Formatierungen aus HTML-Dokument übernehmen und in Word docx schreiben Allgemeine Java-Themen 3
E HTML File mit Umlaute einlesen Allgemeine Java-Themen 8
T HTML Parser Allgemeine Java-Themen 7
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
S Swing mit JEditorPane per HTML auf Bilder in JAR zugreifen. Allgemeine Java-Themen 3
S Regulärer Ausdruck für HTML-Tag Allgemeine Java-Themen 18
H Java Methode zum HTML encodieren/decodieren Allgemeine Java-Themen 2
Daniel_L Bug in Copy-Funktion bei HTML-Editorpane? Allgemeine Java-Themen 4
M JApplet einbinden in HTML Allgemeine Java-Themen 19
F Problem mit regulären Ausdruck in Zusammenhang mit HTML Allgemeine Java-Themen 8
T JavaScript aus HTML im JEditorPane ausführen? Allgemeine Java-Themen 5
S PDF nach HTML oder XML Allgemeine Java-Themen 2
O Tastendrücke in verstecktes HTML-Formular schreiben Allgemeine Java-Themen 4
D Strings von HTML befreien Allgemeine Java-Themen 17
A HTML-Seite aufrufen, drucken und zum Programm zurückkehren Allgemeine Java-Themen 2
E Html tags entfernen optimieren Allgemeine Java-Themen 12
Q API zum Verarbeiten von HTML Allgemeine Java-Themen 4
DerEisteeTrinker PDF mit seiner Formatierung in HTML umwandeln Allgemeine Java-Themen 15
B Java in HTML stellen Allgemeine Java-Themen 11
M id aus HTML (Regex) Allgemeine Java-Themen 7
D HTML mit Java verknüpfen Allgemeine Java-Themen 2
W HTML-Pfad Allgemeine Java-Themen 4
G HTML-Datei einlesen, Plain Text in Textfile speichern Allgemeine Java-Themen 4
A HTML-Seite wieder schließen Allgemeine Java-Themen 2
E JTidy html "hidden" Button drücken Allgemeine Java-Themen 7
faetzminator Regex zur Suche von "value-losen" Attributen in HTML Tags Allgemeine Java-Themen 7
data89 Java und HTML-Seiten mit Bildern - Wie passt das zusammen? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben