Nabend, ich möchte mithilfe von C oder C++ aktuelle Wetterdaten aus dem Internet beziehen. Ich hab mir gedacht, z.B. von Wetter.com oder ähnlichen Seiten das aktuelle Wetter heraus zu suchen und in irgend einer Form auf den PC abzulegen. Ist das mit C oder C++ ohne weiteres möglich, Daten aus dem Internet zu suchen und zu kopieren, um diese dann auf dem Rechner zu speichern? Wenn ja, gibt es etwas Lesestoff für diese Thematik? Ich hab bisher leider nix brauchbares im Internet finden können, werd mich aber natürlich weiter belesen. Ich kenn mich auch etwas mit html und css aus. Vielleicht kann man ja einfacher damit die Seiten durchforsten und die für mich relevanten Daten aus sieben und dann mit C oder C++ weiter verarbeiten. Ist es sinnvoll, von Wetter.com oder ähnlichen Seiten sich Wetterdaten zu beziehen oder gibt es für solche Zwecke spezielle Seiten? Vielleicht hat jemand von euch damit ja schon Erfahrung gemacht. Gruß & Danke
:
Bearbeitet durch User
Das abrufen einer Website aus C/C++ heraus ist einigermaßen kompliziert und erfordert eine externe Library. Ich würde für diese Aufgabe von C auf jeden Fall abraten, da es sehr umständlich ist diese ganzen alten C Libraries zu benutzen. C++ ist so einigermaßen für die Aufgabe geeignet. Eigentlich ist sowas eher eine Aufgabe für C# oder Java. Wenn man die Seite erstmal auf seinem PC hat kann das Suchen der gewünschten Informationen natürlich beliebig schwierig sein. Wenn man Glück hat steht es immer an der gleichen Stelle. Hier könnten regular expressions nützlich sein die richtige Stelle im HTML Quelltext zu finden. Wenn es nur ums Wetter geht gibt es sicherlich Seiten, die solche Informationen in einem einfach weiterzuverarbeitenem Format ohne HTML Gerüst drumherum anbieten.
wetter.com bietet selbst auch eine API wie ich gerade herausgefunden habe: http://www.wetter.com/apps_und_mehr/website/api/dokumentation/#
>Ist das mit C oder C++ ohne weiteres möglich, Daten aus dem Internet zu >suchen und zu kopieren, um diese dann auf dem Rechner zu speichern? Das Googlewort heißt web scraping. Und der Aufwand, eine dafür geeignete Scriptsprache mit passenden Libraries zu lernen, ist wahrscheinlich geringer, als C++ oder C zu benutzen. Für Python gibt es z.B. BeautifulSoup, für Perl und Ruby sicherlich ähnliches.
Robin F. schrieb: > Ist das mit C oder C++ ohne weiteres möglich, Daten aus dem Internet zu > suchen und zu kopieren, um diese dann auf dem Rechner zu speichern? ja, wenn man viel zeit hat. > Wenn ja, gibt es etwas Lesestoff für diese Thematik? man kann bei 0 anfangen mit Sockets oder man nimmt eine fertige LIB wie curl Man könnte auch einfach perl nehmen und hat das ganze in ein paar Zeilen code erledigt. > Ist es sinnvoll, von Wetter.com oder ähnlichen Seiten sich Wetterdaten > zu beziehen wenn man die Daten braucht ist es bestimmt sinnvoll > oder gibt es für solche Zwecke spezielle Seiten? ja gibt es, viele Handy-Wetter-Apps nutzen sie auch nur. Aber sie sind meist nicht kostenlos.
Okay danke erstmal. Ja die Programmiersprache ist für mich nicht so entscheidend. Zur not lese ich mich etwas in eine neue Programmiersprache ein, um speziell diese Sache zu realisieren. Bin halt mit C, C++, VBA, html und CSS vertraut, daher spreche ich hier direkt die an. Noch einmal genau was ich vor habe. Ich möchte irgendwie aktuelle Wetterdaten beziehen (aktuelle und die für maximal den nächsten Tag). Die möchte ich auswerten und einen durchschnitt bilden. Anschließend möchte ich den gebildeten durchschnitt weiterverarbeiten (es soll natürlich alle paar Stunden überprüft werden, ob es neue Wetterdaten gibt um relativ genau zu sein). Wenn nötig, würde ich auch auf mehrere Webseiten zurück greifen wollen und die Wetterdaten vergleichen. Ich guck mal, was sich aus der API von Wetter.com so machen lässt, vielleicht ist das ja sch die Lösung. Auf der Seite bekommt man ja eine Einleitung, wie man die API verwendet. Des weiteren werde ich mich noch mehr in Google belesen mit der Hoffnung das passende zu finden. Gruß & Danke
Falls Windows (wegen "VBA"): WinINet ist recht simpel. http://msdn.microsoft.com/en-us/library/windows/desktop/aa385331%28v=vs.85%29.aspx Robin F. schrieb: > Ich guck mal, was sich aus der API von Wetter.com so machen lässt, > vielleicht ist das ja sch die Lösung. Das alleine hilft dir ja nicht, du musst trotzdem übers Internet auf den Server zugreifen. Ob es sich nun um eine "normale" Website oder um die openweather-API handelt, ist rein technisch erst einmal ziemlich egal (nur ist die Kommunikation im zweiten Fall wegen der Authentifizierung etwas komplexer).
Lerne metar lesen, die gibt es recht einfach http://weather.noaa.gov/pub/data/observations/metar/stations/EDDH.TXT
Robin F. schrieb: > Ich kenn mich auch etwas mit html und css aus. Vielleicht kann man ja > einfacher damit die Seiten durchforsten und die für mich relevanten > Daten aus sieben... Das schreit förmlich nach Perl + LWP-Modul. Das ganze wird damit einfacher, als das Ergebnis einer SQL-Select-Anweisung via C++ zu holen.
das wetter.com-api ist ein einfacher http-get, ausgabeformat ist entweder xml oder json. ich habs schon länger nicht mehr gemacht, aber in c einen socket zu öffnen dürfte nicht übermäßig schwierig sein. über den socket dann einen einfachen http get abzusetzen und die rückgabe einzulesen auch nicht wirklich. die größte herausforderung dürfte darin bestehen, json bzw. xml zu parsen bzw sich in eine jeweils passende lib einzulesen...
Ganz klar, wenn es eine API gibt diese verwenden. Wenn es von Webseite sein muss, dann habe ich hier mal ein Beispiel mit Python und beautifulsoup: https://github.com/crapp/lubwdatacrawler Aber Vorsicht, von Webseite geht nur noch selten. Meist ist da sehr viel Javascript im Spiel damit die Seite überhaupt angezeigt wird. Möglicherweise ist auch Nutzerinteraktion nötig. Dann ist eine API ein Segen. Allerdings wollen kommerzielle Anbieter gerne Kohle für die Nutzung der API. Kostenlose Daten gibt es meist nur mit niedriger Abfragefrequenz oder anderen Einschränkungen.
http://www.worldweatheronline.com/free-weather-feed.aspx Ist recht einfach auswertbar. Bedarf zwar einer Registrierung per Email, ist aber auch zur kommerziellen Nutzung kostenfrei, und liefert auch Wetterdaten für Europa.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.