1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Parse HTML mit Scanner

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von StefMa, 23.02.2012.

  1. StefMa, 23.02.2012 #1
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Hallo,

    mit folgendem Code möchte ich eine HTML Seite auslesen:
    Code:
            InputStream is = null;
            
            try
            {
                URL url = new URL("http://www.android-hilfe.de/android-app-entwicklung/5288-html-parsing.html");
                is = url.openStream();
    
                String sc = new Scanner( is ).useDelimiter("\\Z").next();
                Log.v("INDEX=1", sc);
                
    // Ligen - ausschlielich LIEGEN!
                Pattern pattern = Pattern.compile("document.*?<img");
                Matcher match = pattern.matcher(sc);
    Das problem ist jetzt:
    Er liest bzw. bekommt nicht die Komplette seite!
    Das Log.v - also sc hat nur ca 8 zeilen:
    Wieso liest er nicht den Kompletten Quelltext?

    Liegt das an Android und deren "Internetverbdinung"? Da er einfach wieder "schnell" anwesend sein will (Also die Activity) und dadurch halt das Parsen hinten anstellt?

    Denn wenn ich alles komplett in Java programmire funktionier es..!

    MfG
     
  2. StefMa, 24.02.2012 #2
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Hallo,

    ich bearbeite den Source später mit Regexp:
    Code:
                Pattern pattern = Pattern.compile("<a.*?</a>");
                Matcher match = pattern.matcher(sc);
                
                while(match.find())
                {
                    String format = match.group().replaceAll("<a style=.*?>", "").replaceAll("</a>", "");
                    
                    format = replaceUml(format);
                    
                    ligen.add(format);
                }
    Also benötige ja den Code ja nur als String.
    Wäre dafür auch (sogar besser weil "Android-Comform") diese möglichkeit gut -> How to get HTML source code from url in android? - Stack Overflow

    Zum schluss hätte ich ja dann auch das result (also den Source Code der seite) als String und kann ihn über regexp bearbeiten..

    Oder?

    mfG Ice
     

Diese Seite empfehlen