Daten aus HTML-Seite auslesen

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

  • Daten aus HTML-Seite auslesen

    Hallo Android-Community,

    ich habe lange nicht mehr programmiert und wollte wieder anfagen. Dabei ist mir aufgefallen, dass ich einiges nachholen muss.

    Zu meinem Anliegen: Ich möchte mit einer einfachen App bestimmte Daten aus den Feldern dieser HTML-Seite auslesen (z.B. alle Einträge von nur der Person X).

    Wenn ich die App starte, soll nur eine Liste erscheinen, die die Einträge auflistet. Zuerst habe ich mit WebView die Seite zwar zum erscheinen gebracht, wusste aber nicht, wie ich die Webseite dazu bringen soll, nur die Einträge von der Person X zu zeigen. Dann habe ich mich mit Jsoup bzw. mit Android Volley auseinandergesetzt, aber ich weiß gar nicht ob ich da auf dem richtigen Weg bin. Im Netz habe ich keine bräuchlichen/verständliche Tutorials dazu gefunden.

    Mein bisheriger Quelltext sieht so aus (ich weiß, es ist nicht viel, da ich vieles durch rumprobieren gelöscht habe):

    Quellcode

    1. import android.app.Activity;
    2. import android.os.Bundle;
    3. import android.webkit.WebView;
    4. import android.widget.TextView;
    5. import org.jsoup.nodes.Document;
    6. public class MainActivity extends Activity {
    7. WebView webView;
    8. String url;
    9. TextView textView;
    10. // Document doc = null;
    11. @Override
    12. protected void onCreate(Bundle savedInstanceState) {
    13. super.onCreate(savedInstanceState);
    14. setContentView(R.layout.activity_main);
    15. init();
    16. // parse();
    17. }
    18. private void init() {
    19. webView = (WebView) findViewById(R.id.webview);
    20. textView = (TextView) findViewById(R.id.textView3);
    21. url = "view-source:http://www.hockey.de/VVI-web/Ergebnisdienst/Spielplan-Schiedsrichter.asp?lokal=DHB&menue=/VVI-web/menue-HSR.asp";
    22. // webView.loadUrl(url);
    23. }
    24. private void parse() {
    25. }
    26. }
    Alles anzeigen

    Kann mir jemand irgendein Tipp geben? Falls das mit volley/jsoup möglich ist, würde ich mich auf freuen, wenn mir jemand das verständlich erklären könnte. Das wäre echt super.

    Danke im Voraus.

    Viele Grüße,
    CdWechsler
  • Hallo also mit webView wirst du da nicht viel Erfolg haben.

    Wenn du die Webseite mit Jsoup Parsen willst brauchst du die Seite als HTML String.
    Den kannst du dir wie du möchtest mit Volley von der webseite holen. Oder mit einer Anderen Lib oder auch mit den Android system Methoden (URLConnection).

    Nun suchst du mit jsoup nach dem passender Html Tek.

    Schaue dir mal die Seite im HTML Quellcode im Browser an.


    Sollte die seite so etwas wie eine API (Rest-System) bieten mit der du auf die DB zugreifen kannst würde ich das nutzen und nicht den umweg über HTML gehen . das habe ich mir nicht angesehen. Wenn da kein verweis auf der Der Seite erfrage es beim Autor der Seite.
    Ein Feedback auf Tipps ist auch schön. :P
  • Neu

    Also wenn ich aus dieser Seite bestimme Daten aus der Tabelle auslesen möchte, wie müsste dann der css-query select Befehl lauten?

    Ich habe als Beispiel mir mal z.B. den Namen Ottmüller aus der Tabelle ausgewählt (per Rechtsklick auf den Namen - >Element untersuchen - > DOM Eigenschaften anzeigen). So bekomme ich über die DOM-Eigenschaft den Link, welcher nur die Zeilen von Ottmüller auflistet. Wenn ich dann die DOM-Eigenschaften mir von der Tabelle anzeige, habe ich zwar viele Informationen, womit ich leider nicht weiterkomme.

    Habe versucht die Infos über Jsoup zu selektieren, leider erfolglos. Ich hab leider nicht herausfinden können, wie ich den Befehl schreiben soll, dass nur die Zeilen "Tag, Uhr, Spiel, Liga, Schiedsrichter, Schiedsrichter, Beobachter)
    bekommt, ohne andere unnötigen Parameter. Vielleicht ist das wirklich sehr easy, aber ich beschäftige mich leider schon seit Std. und komm net weiter :S X/ :cursing: ?( ;(

    Wäre echt dankbar für alle Tipps und Hilfen.

    Danke im Voraus.