HTML auslesen und nach spezifischen Tags suchen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • HTML auslesen und nach spezifischen Tags suchen

    Hallo Leute,



    ich habe eine html Datei, aus der ich gerne ein Inhaltsverzeichnis erstellen würde.



    Jede überschrift ist mit einem tag und mit einer c?.? -Id versehen



    zb: die c's sind in aufsteigender reihenfolge.



    Wie kann ich diese denn genau da rausfiltern?



    Grüße
  • Du benötigst im Quellcode eine eindeutig identifizierbare Stelle die dein Programm erkennt.

    Vielleicht kannst du mal einen Auszug des Quellcodes hier posten.

    Ich habe kürzlich an etwas ganz ähnlichem gearbeitet. Dazu habe ich mir eine Klasse test erstellt aus der man einen Scanner erstellen kann:

    Quellcode

    1. import java.io.*;
    2. import java.net.*;
    3. import java.util.*;
    4. public class test {
    5. public String fetchPage(String url) {
    6. StringBuilder sb = new StringBuilder();
    7. try {
    8. Scanner scanner = new Scanner(new URL(url).openStream());
    9. while (scanner.hasNextLine()) {
    10. sb.append(scanner.nextLine() + "\n");
    11. }
    12. scanner.close();
    13. } catch (MalformedURLException e) {
    14. e.printStackTrace();
    15. } catch (IOException e) {
    16. e.printStackTrace();
    17. }
    18. return sb.toString();
    19. } // fetchPage
    20. }
    Alles anzeigen


    Einfach mal abkopieren. Danach im Programm ungefähr folgendes:

    Quellcode

    1. test meinScanner = new test();
    2. String quellcode = meinScanner.fetchPage("http://www.dieAdresse.de"); //Hier die Adresse eingeben und du hast den Quellcode in einer Variablen


    Jetzt muss der Anfang und das Ende des gesuchten Strings festgestellt werden. Dazu liest du dir am besten mal die Doku von indexOf der Wrapper-Klasse String durch:
    docs.oracle.com/javase/6/docs/api/java/lang/String.html

    Diese Methode gibt dir eine Zahl zurück.
    Beispiel:

    Quellcode

    1. int anfang = quellcode.indexOf("mein-eindeutig-identifizierbarer-Code-im-Text" );
    2. int ende = quellcode.indexOf("mein-eindeutig-identifizierbarer-Code-im-Text" );
    3. //Jetzt hole den String aus dem Quellcode
    4. String gesuchterText = quellcode.substring(anfang+x, ende-x);


    Jetzt solltest du in "gesuchterText" deinen gesuchten Text haben. Das ganze noch in eine Schleife packen und entsprechend anpassen, fertig.

    Zur Info! Das was hier gemacht wird denn man Seiten scrapen. Sowas kann man auch mit Seiten im Internet machen. Wer allerdings fremde Inhalte für eigene Zwecke klaut macht sich zum einen natürlich ggn. dem Urheberrecht schuldig und kann auch leicht mal als Spamer abgetan werden. Also bitte nur für eigene Zwecke verwenden.