Html Seite auslesen

member42

Aktives Mitglied
Hallo,
ich möchte den Quelltext einer Html Seite auslesen.
Einmal mache ich es mit Jsoup und einmal mit einer URLConnection, nur werden jeweils ganz andere Sachen ausgegeben.

Mit UrlConnection:
Java:
    try {
               
        URLConnection con = new URL("https://www.youtube.com/feed/trending").openConnection();
        InputStream is = con.getInputStream();
        int daten = 0;
       
        StringBuffer sb = new StringBuffer();
       
        while ((daten = is.read()) != -1) {
            sb.append((char)daten);
        }
       
        String s = sb.toString();
       
        System.out.println(s);
       
        System.out.println(s.contains("!doctype")); // Hier wird false ausgeben
      } catch(Exception ex) {     
        }
Mit Jsoup:
Java:
  try {
            Document  doc = Jsoup.connect("https://www.youtube.com/feed/trending").get(); 
        String s = doc.toString();
            System.out.println(s);
            System.out.println(s.contains("!doctype")); // Hier wird true ausgegeben
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
Woran liegt dass, das jeweils komplett andere Sachen ausgegeben werden?

Danke im Vorraus.
 

mihe7

Top Contributor
Im ersten Fall gibst Du aus, was der Server im Response-Body zurückschickt (also tatsächlich den Quelltext), im zweiten Fall lässt Du Jsoup erst einmal den Quelltext parsen und erhältst ein DOM zurück, das Du dann als String ausgeben lässt.
 

member42

Aktives Mitglied
OK,danke. Wenn ich aber im Browser den Quelltext ansehe habe ich ja ganz oben doctype... .Wenn ich aber in dem String vom oberen nach doctype suche , wird nichts gefunden. Dann kann es doch nicht der Quelltext sein?
 
X

Xyz1

Gast
@member42 Ah meine Antworten werden nicht gelesen stimmts? ;)

Kommentiere Zeile 2 mal ein (und staune) :
Java:
    URLConnection con = new URL("https://www.youtube.com/feed/trending").openConnection();
    //con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36");
    StringBuffer buff = new StringBuffer();
    try (
            InputStream is = con.getInputStream()) {
        int daten = 0;
        while ((daten = is.read()) != -1) {
            buff.append((char) daten);
        }
    }
    System.out.println(buff.substring(0, 200));

    System.out.println(Jsoup.connect("https://www.youtube.com/feed/trending").get().outputSettings(new Document.OutputSettings().prettyPrint(false)).outerHtml().substring(0, 200));
 

member42

Aktives Mitglied
Ne, habe es jetzt verstanden:). Der User Agent ist dafür da, damit der Server "denkt", dass es sich um einen echten Browser handelt.
 

member42

Aktives Mitglied
Habe doch noch eine Frage:). Für einen Youtubeplayer möchte ich alle Links aus einer Playlist bekommen.
Mit der Powershell kann ich alle Links finden.
Code:
 (Invoke-WebRequest "https://www.youtube.com/watch?v=dyJdLalc7TA&list=PLNmsVeXQZj7q0ao69AIogD94oBgp3E9Zs").Links

Das sieht dann so aus:
Code:
innerText        :
                   Python 3 Tutorial #1 - Einleitung und Installation
                   The Morpheus Tutorials
outerHTML        : <A class=" spf-link  playlist-video clearfix  yt-uix-sessionlink      spf-link " href="/watch?v=dyJdLalc7TA&amp;index=1&amp;list=PLNmsVeXQZj7q0ao69AIogD94oBgp3E9Zs"
                   data-sessionlink="itct=CFYQyCAYACITCObLzt-hx90CFd2YVQodwXMCPij4HTIDQkZhSLDa88rapZeRdw"><SPAN class="video-thumb  yt-thumb yt-thumb-72"><SPAN class=yt-thumb-default><SPAN
                   class=yt-thumb-clip><IMG aria-hidden=true onload=";window.__ytRIL &amp;&amp; __ytRIL(this)" alt=""
                   src="https://i.ytimg.com/vi/dyJdLalc7TA/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&amp;rs=AOn4CLCxffWmdLnH_ry7qowQSp43DgpypA" width=72
                   data-ytimg="1"> <SPAN class=vertical-align></SPAN></SPAN></SPAN></SPAN>
                   <DIV class=playlist-video-description>
                   <H4 class="yt-ui-ellipsis yt-ui-ellipsis-2">Python 3 Tutorial #1 - Einleitung und Installation </H4><SPAN class=video-uploader-byline><SPAN>The Morpheus Tutorials</SPAN>
                   </SPAN></DIV></A>
outerText        :
                   Python 3 Tutorial #1 - Einleitung und Installation
                   The Morpheus Tutorials
tagName          : A
class            :  spf-link  playlist-video clearfix  yt-uix-sessionlink      spf-link
href             : /watch?v=dyJdLalc7TA&amp;index=1&amp;list=PLNmsVeXQZj7q0ao69AIogD94oBgp3E9Zs
data-sessionlink : itct=CFYQyCAYACITCObLzt-hx90CFd2YVQodwXMCPij4HTIDQkZhSLDa88rapZeRdw

innerHTML        : <SPAN class="video-thumb  yt-thumb yt-thumb-72"><SPAN class=yt-thumb-default><SPAN class=yt-thumb-clip><IMG aria-hidden=true onload=";window.__ytRIL &amp;&amp;
                   __ytRIL(this)" alt=""
                   src="https://i.ytimg.com/vi/mNcexeCI-G4/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&amp;rs=AOn4CLDuB1LmKWMsdYTLTZJk5zEMK4rxZw" width=72
                   data-ytimg="1"> <SPAN class=vertical-align></SPAN></SPAN></SPAN></SPAN>
                   <DIV class=playlist-video-description>
                   <H4 class="yt-ui-ellipsis yt-ui-ellipsis-2">Python Tutorial #2 - Zahlen </H4><SPAN class=video-uploader-byline><SPAN>The Morpheus Tutorials</SPAN> </SPAN></DIV>
innerText        :
                   Python Tutorial #2 - Zahlen
                   The Morpheus Tutorials
outerHTML        : <A class=" spf-link  playlist-video clearfix  yt-uix-sessionlink      spf-link " href="/watch?v=mNcexeCI-G4&amp;index=2&amp;list=PLNmsVeXQZj7q0ao69AIogD94oBgp3E9Zs"
                   data-sessionlink="itct=CFUQyCAYASITCObLzt-hx90CFd2YVQodwXMCPij4HTIDQkZhSLDa88rapZeRdw"><SPAN class="video-thumb  yt-thumb yt-thumb-72"><SPAN class=yt-thumb-default><SPAN
                   class=yt-thumb-clip><IMG aria-hidden=true onload=";window.__ytRIL &amp;&amp; __ytRIL(this)" alt=""
                   src="https://i.ytimg.com/vi/mNcexeCI-G4/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&amp;rs=AOn4CLDuB1LmKWMsdYTLTZJk5zEMK4rxZw" width=72
                   data-ytimg="1"> <SPAN class=vertical-align></SPAN></SPAN></SPAN></SPAN>
                   <DIV class=playlist-video-description>
                   <H4 class="yt-ui-ellipsis yt-ui-ellipsis-2">Python Tutorial #2 - Zahlen </H4><SPAN class=video-uploader-byline><SPAN>The Morpheus Tutorials</SPAN> </SPAN></DIV></A>
outerText        :
                   Python Tutorial #2 - Zahlen
                   The Morpheus Tutorials
tagName          : A
class            :  spf-link  playlist-video clearfix  yt-uix-sessionlink      spf-link
href             : /watch?v=mNcexeCI-G4&amp;index=2&amp;list=PLNmsVeXQZj7q0ao69AIogD94oBgp3E9Zs
data-sessionlink : itct=CFUQyCAYASITCObLzt-hx90CFd2YVQodwXMCPij4HTIDQkZhSLDa88rapZeRdw

innerHTML        : <SPAN class="video-thumb  yt-thumb yt-thumb-72"><SPAN class=yt-thumb-default><SPAN class=yt-thumb-clip><IMG aria-hidden=true onload=";window.__ytRIL &amp;&amp;
                   __ytRIL(this)" alt=""
                   src="https://i.ytimg.com/vi/BiVQJ4dTD9o/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&amp;rs=AOn4CLBUWeNg2_ZXeUacsNhMSusIassTIw" width=72
                   data-ytimg="1"> <SPAN class=vertical-align></SPAN></SPAN></SPAN></SPAN>
                   <DIV class=playlist-video-description>
                   <H4 class="yt-ui-ellipsis yt-ui-ellipsis-2">Python Tutorial #3 - Strings </H4><SPAN class=video-uploader-byline><SPAN>The Morpheus Tutorials</SPAN> </SPAN></DIV>
innerText        :
                   Python Tutorial #3 - Strings
                   The Morpheus Tutorials
outerHTML        : <A class=" spf-link  playlist-video clearfix  yt-uix-sessionlink      spf-link " href="/watch?v=BiVQJ4dTD9o&amp;index=3&amp;list=PLNmsVeXQZj7q0ao69AIogD94oBgp3E9Zs"
                   data-sessionlink="itct=CFQQyCAYAiITCObLzt-hx90CFd2YVQodwXMCPij4HTIDQkZhSLDa88rapZeRdw"><SPAN class="video-thumb  yt-thumb yt-thumb-72"><SPAN class=yt-thumb-default><SPAN
                   class=yt-thumb-clip><IMG aria-hidden=true onload=";window.__ytRIL &amp;&amp; __ytRIL(this)" alt=""
                   src="https://i.ytimg.com/vi/BiVQJ4dTD9o/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&amp;rs=AOn4CLBUWeNg2_ZXeUacsNhMSusIassTIw" width=72
                   data-ytimg="1"> <SPAN class=vertical-align></SPAN></SPAN></SPAN></SPAN>
                   <DIV class=playlist-video-description>
                   <H4 class="yt-ui-ellipsis yt-ui-ellipsis-2">Python Tutorial #3 - Strings </H4><SPAN class=video-uploader-byline><SPAN>The Morpheus Tutorials</SPAN> </SPAN></DIV></A>
Die Links stehen dort immer im outerHtml

Wenn ich das mit Jsoup mache, bekomme ich immer nur den Link vom aktuellen Video.
Java:
 String str =  Jsoup.connect("https://www.youtube.com/watch?v=dyJdLalc7TA&list=PLNmsVeXQZj7q0ao69AIogD94oBgp3E9Zs").get().outerHtml();

Woran liegt das?
 

member42

Aktives Mitglied
Was hast du eigentlich genau vor zu machen?
Ich wollte einen Youtube Player machen.

Vorschlag: pauke HTML und Jsoup!
Jsoup werde ich mir nochmal genauer ansehen:)

Die Frage hat sich erledigt,weil ich jetzt einfach das Powershell script über den Processbuilder starte und so die Links bekomme. Ist zwar nicht wirklich gut gelöst,aber immerhin funktioniert es so einigermaßen.
 

Code-Mode

Mitglied
Ich habe auch grade ein bisschen JSOUP gemacht.
Habe im Prinzip ein WebScraper für Rezepte von Chefkoch und Kochbar gemacht.

Vielleicht hilft dir das ja ein wenig weiter wenn du schauen kannst wie du nach HTML Tags filterst und Tabellen ausliest.

Code ist einzusehen unter: https://github.com/codemode89/WebRecipeScraper
Schau dir da mal die DocumentParser an.

Ich wünsche dir viel Erfolg :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
I HTML / XHTML Seite nach Excel exportieren. Suche Lib Allgemeine Java-Themen 12
OnDemand Substring einer HTML Seite will nicht Allgemeine Java-Themen 5
S Bekomme mit Scanner und URL keine Html-Seite ausgelesen Allgemeine Java-Themen 3
S Von HTML-Seite den Titel bekommen Allgemeine Java-Themen 2
I HTML Seite laden Allgemeine Java-Themen 6
A HTML-Seite aufrufen, drucken und zum Programm zurückkehren Allgemeine Java-Themen 2
A HTML-Seite wieder schließen Allgemeine Java-Themen 2
P Java-Applet funktioniert nicht in HTML-Seite Allgemeine Java-Themen 3
D Ausgabe HTML-Seite Allgemeine Java-Themen 5
Q Java programm von Html seite ausführen Allgemeine Java-Themen 3
G HTML-Seite im Frame Anzeige? Allgemeine Java-Themen 3
S html seite speichern Allgemeine Java-Themen 4
J html seite in java einbinden und url bestimmen Allgemeine Java-Themen 5
P HTML-Seite geöffnet lassen Allgemeine Java-Themen 5
N Java login für HTML Seite Allgemeine Java-Themen 6
C Mit Java auf eine HTML-Seite zugreifen Allgemeine Java-Themen 3
P Html-Seite aus dem Internet speichern Allgemeine Java-Themen 11
M ImageSize anhand eines Bildes aus einer HTML-Seite Allgemeine Java-Themen 2
S Bookmark HTML Datei einlesen, alle Links erhalten und manche editieren..? (aktuell JSoup) Allgemeine Java-Themen 4
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
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
S HTML den ich von einer URL hole nicht identisch mit dem HTML im Browser Allgemeine Java-Themen 1
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
I HTML einer Website auslesen liefert nur head Allgemeine Java-Themen 6
perlenfischer1984 HTML Code decodieren Allgemeine Java-Themen 2
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
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
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
S BufferedReader/PrintWriter an einer HTML Allgemeine Java-Themen 6
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
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
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
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

Ähnliche Java Themen

Neue Themen


Oben