Hallo liebe Leute, Hallo liebe Freaks! Ich habe folgendes Projekt vor: Ich möchte ein Programm in C / C++ schreiben, welches Daten von einer Internetseite holt, z.B. von Wetter.com und möchte bei Start des Programms eine Log-Datei erzeugen lassen, wie das Wetter jeden Tag ist/war. Nun zur Frage: Wie kann ich von einer Seite wie beispielsweise wetter.com Daten holen, ohne die Seite zu betrachten. Sprich, lediglich Daten auslesen und diese in einer Log- oder Textdatei speichern? Ich habe schon dran gedacht, den HTML-Code der jeweiligen Seite zu analysieren, nur, was ist, wenn an der bestimmten Stelle, an der im HTML-Code die Information steht, plötzlich was anderes steht, wenn beispielsweise Änderungen auf der Seite stattgefunden haben? vielen Dank!
Rolf Küsster wrote: > Wie kann ich von einer Seite wie beispielsweise wetter.com Daten holen, > ohne die Seite zu betrachten. Sprich, lediglich Daten auslesen und diese > in einer Log- oder Textdatei speichern? Prinzipiell so: 1. HTTP-Verbindung (TCP auf Port 80) zum Server (wetter.com) aufbauen 2. Anforderung senden (sowas: "GET / HTTP/1.0" und so weiter) 3. Daten lesen 4. Verbindung abbauen 5. Daten auswerten Die Verbindung baut man mit den üblichen Funktionen der C-Bibliothek auf (socket, read, fread, write, fwrite, ioctl und dergleichen). > Ich habe schon dran gedacht, den HTML-Code der jeweiligen Seite zu > analysieren, nur, was ist, wenn an der bestimmten Stelle, an der im > HTML-Code die Information steht, plötzlich was anderes steht, wenn > beispielsweise Änderungen auf der Seite stattgefunden haben? Ganz ehrlich? Ja? Ok -- dann hast du Pech gehabt. Guck mal, evtl. stellt dein Dienst (wetter.com ..) auch spezielle RSS-Feeds oder sowas zur Verfügung, da bist du dann auf der sicheren Seite.
Wenns denn Visual Studio oder Delphi sein darf, kann das ganze mit sehr geringem Aufwand realisiert werden. Die entsprechenden, vorhandenen Komponenten erlauben es bereits ohne Programmieraufwand, den HTML Code runterzuladen und z.B. in einen String zu kopieren. Danach kannst Du mit regulären Ausdrücken oder einem eigenen Parser die gewünschten Informationen suchen. Hab früher mal einen Newsticker gemacht, der von Zeitungshomepages Schlagzeilen heruntergeladen hat. Am besten Du schaust im HTML Code was vor der gewünschten Stelle genau drin steht. Meist konnte ich einfach die vorherigen ein- oder zwei HTML Tags für die Suche nehmen. Es muss einfach was sein, dass sonst nirgends im HTML Code auftaucht. Dann einfach alles vorherige wegschemeissen und bis zum nächsten HTML Tag alles kopieren. Kommt halt drauf an, wie Deine Daten genau aussehen. Wenn Du das einigermassen schlau machst, geht es auch noch, wenn kleine Änderungen an der Homepage vorgenommen werden. Aber man muss natürlich immer damit rechnen, dass es mal so umgestellt wird, dass es nicht mehr funktioniert und man dann was anpassen muss.
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.