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

Einzelne Elemente einer Webseite abgreifen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von isaak, 14.06.2010.

  1. isaak, 14.06.2010 #1
    isaak

    isaak Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    255
    Erhaltene Danke:
    30
    Registriert seit:
    08.08.2009
    Hi,
    ich versuche mich gerade in die App-Programmierung einzuarbeiten. Ein paar Standard-Beispiele habe ich schon durchexerziert. Nun will ich aber versuchen von einer Webseite nur bestimmte Elemente abzugreifen. Also am Beispiel eines Blogs: Nur die eigentlichen Blog-Inhalte, ohne Seitenelemente etc.

    Ich versuche es gerade per Webview, komme aber nicht weiter. Ist es überhaupt möglich mit der Webview nur bestimmte Bereiche in die App aufzunehmen?

    Falls das noch zu unklar ist: Ich nehme irgendeine Webseite, schaue in den HTML-Code per Firebug und sehe, dass das Element, das ich abgreifen will per "<div="content">" im Body eingefügt wurde. Jetzt will ich genau diesen Teil haben und alles andere ausblenden, also keine Sidebar etc.

    Wenn jemand einen Tipp hätte, wäre ich sehr dankbar, denn ich komme einfach nicht weiter. Ich weiß nichteinmal, ob meine bisherige Vorgehensweise per Webview überhaupt richtig ist.
     
  2. MichaelS, 14.06.2010 #2
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    naja kommt nun drauf an, was de genau vor hast... es gibt mehrere ansatzpunkte, aber wenn du daten von ner website haben willst, kannst du einfach nen eigenen request senden und den response auswerten... ist nicht sonderlich schwer... das ganze solltest du natürlich in nen thread auslagern, sosnt steht deine app ;) nennt sich auch crawln bzw. parsen... gibts genug anleitungen für java also google is dein freund =)
     
    isaak bedankt sich.
  3. isaak, 14.06.2010 #3
    isaak

    isaak Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    255
    Erhaltene Danke:
    30
    Registriert seit:
    08.08.2009
    danke für deine Antwort, mal schauen, ob mir Google mit den Infos etwas genaueres ausspuckt.

    Ich habe bisher noch nichts in diese Richtung gemacht, daher fällt es mir auch schwer, was passendes zu finden. Google ist leider nicht so intelligent und sucht was ich meine, sondern nur das, was ich eingebe. :D und gerade das ist wiederum schwer, wenn man nicht weiß, wonach man suchen soll.

    eigentlich nur, dass mir die App eine Webseite so anzeigt, wie ich sie gerne hätte und nicht so, wie der Homepage-Entwickler es vorgesehen hat. Also z.B. von einem Blog nur die Posts zu zeigen, ohne Sidebar, Footer etc. Fast so wie eine Listenansicht von RSS-Feeds - nur ohne RSS eben. :rolleyes:

    Naja, ich suche jetzt erstmal nach den von dir genannten Stichwörtern.

    Grüße
    Isaak
     
  4. sorcerer, 15.06.2010 #4
    sorcerer

    sorcerer Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    4
    Registriert seit:
    07.06.2010
    Phone:
    Motorola Milestone
    isaak bedankt sich.
  5. isaak, 15.06.2010 #5
    isaak

    isaak Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    255
    Erhaltene Danke:
    30
    Registriert seit:
    08.08.2009
    Danke, sieht beim ersten Überfliegen vielversprechend aus. Werde es mir mal genauer ansehen.

    Grüße
    Isaak
     
  6. mago, 15.06.2010 #6
    mago

    mago Junior Mitglied

    Beiträge:
    33
    Erhaltene Danke:
    4
    Registriert seit:
    30.04.2010
    Phone:
    HTC Desire
    Für das Extrahieren der Inhalte bieten sich Regular Expressions an.
    Etwa so:

    Code:
    Pattern pat = Pattern.compile(
        "<div[^>]*>([^<]+)</div>",
        java.util.regex.Pattern.CASE_INSENSITIVE
    );
    Matcher mat = pat.matcher(page);
    while (mat.find(index)) {
       String txt1 = mat.group(1);
       index = mat.end();
    }
    
     

Diese Seite empfehlen