Wetterdaten auslesen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von mrMo.

    Wetterdaten auslesen

    Hallo!

    Wie kann ich den Inhalt einer Internetseite auslesen und ihn in eine Textbox ausgeben?

    Ich habe es hiermit versucht, aber die Textbox blieb leer:

    Quellcode

    1. WebBrowser1.Url = "https://www.yahoo.com/news/weather/germany/berlin/berlin-638242"
    2. TextBox1.Text = WebBrowser1.Document.All(0).OuterHtml


    Die ausgelesenen Daten sollen weiter verarbeitet werden, um daraus eine kleine Wetterstation zu "basteln".

    Allerdings erscheint hier die Fehlermeldung, das der angegebene String nicht in "Uri" konvertiert werden kann. Wenn ich die Url direkt in die Eigenschaften eingebe, erscheint dieser Fehler nicht. Allerdings möchte ich die Url per Codezeile abrufen, damit ich noch andere Städte aufrufen kann.

    Des weiteren meldet der Webbrowser beim Aufrufen der Seite diverse Scriptfehler. Wie kann man die Fehlermeldungen unterbinden, damit diese nicht mehr erscheinen?
    Ich würde eher ne Wetter Api anzapfen als da bei einer Webseite rum zu doktorn...

    Z.b. openweathermap.org/api
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Ich verwende auch die Api von openweathermap.org.
    Funktioniert sehr gut seit über zwei Jahren, die Daten sind auch sehr gut einzulesen.

    Unterschied zwischen Api und Webseite ist eigentlich einfach: Eine Api gibt dir beim Aufruf der URL eine Xml Datei (meistens) zurück, welche du durch Serialisierung in eine von dir erstellte Klasse importieren kannst.
    Das ist der saubere Weg, da sich an der Api-Schnittstelle (die Xml Datei der Webseite) eigentlich nichts mehr ändert.

    Versuch mal die Daten aus einer Wetterseite (HTML) auszulesen, nein ... vergiss es.

    Die haben auch einen kostenlosen Zugriff, openweathermap.org/price links oben der Erste.
    Anmelden, Api-Key bekommen und dann die Doku durchlesen.

    Als Beispiel, wie ich die Daten abrufe, api.openweathermap.org/data/2.…&appid=DeinAPIKey&lang=de
    Du musst dich auf der Seite anmelden um einen API-Key zu bekommen.
    Wenn du dann z.B. die Seite api.openweathermap.org/data/2.5/weather?q=Berlin&appid=XXXXX aufrufst bekommst du keinen HTML-Code mehr zurück, sondern ein JSON-Dokument.
    Du musst dann nicht mehr den HTML Code auswerten (der sich übrigens schnell ändern könnte und dann würde dein Programm nicht mehr funktionieren) sondern dieses Dokument parsen.
    Wie das aussieht und wie du die API verwendest steht auf der Seite, die mrMo verlinkt hat.

    Selter98 schrieb:


    Wie löse ich das Problem, dass Skriptfehler auftreten?
    Wie löse ich das Problem, das ein String nicht in Uri konvertiert werden kann?


    1.
    a. Indem du keinen Browser verwendest, sondern die API anbindest.

    b. Oder aber du nimmst nen anderes Browser Control (Chromium z.b.)

    2. Indem du der URI keinen String zuweist, sondern eine URI

    WebBrowser1.Url = New URI("https://www.yahoo.com/news/weather/germany/berlin/berlin-638242")
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen