Een gegeven uit een website halen

Status
Niet open voor verdere reacties.

old Hippy

Gebruiker
Lid geworden
24 mei 2008
Berichten
911
Hallo Allemaal

Ik zou graag uit de website van b.v.b het knmi de gemiddelde jaar temperatuur ophalen.
en in een listview zetten nu doe ik dat handmarig maar het zou leuk zijn om dit gegeven optehalen met een klik op een knop.

Iemand een IDEE:)
 
Een programma of script maken dat:
-De betreffende pagina ophaalt
-Op basis van unieke kenmerken (die je zelf moet vinden in de pagina) de gewenste informatie ophalen. Met unieke kenmerken bedoel ik iets als: na de tekst "temperatuur :" staat altijd de informatie die je zoekt. Je zoekt dan met je programma naar die tekst en weet dan dat de komende 2 getallen je temperatuur zijn.
-In excel kun je dan de gegevens invoeren en verder bewerken zoals je wilt

Let wel op dat de methode in zoverre werkt, dat je geen invloed hebt op de inhoud van de pagina. Als men dus morgen iets wijzigt op de site dan kan het zijn dat het niet meer werkt en je op zoek moet naar unieke kenmerken.
 
Hallo RogerS
Bedankt voor je reactie.

De pagina is deze (http://www.knmi.nl/kd/maand_en_seizoensoverzichten/maand/feb11.html)

Uit de bron van de pagina dit dus
Code:
 <div class="subkop"></div>
Februari was zacht met in De Bilt een gemiddelde temperatuur van [COLOR="red"]4,6 °C[/COLOR] tegen een langjarig gemiddelde van 3,0 °C. De positieve anomalie was in het zuiden beduidend groter dan in het noorden van het land.<br>

Nu nog hulp bij de code ik heb dus de 3.0 nodig of de hele zin.
 
Dat wordt nog al moeilijk aangezien de website steeds veranderd.
 
Of mischien van af een andere website zullen er gerust meer zijn.
als ik maar een begin voor de code heb.
 
Hier is je begin:


Code:
        Dim HTML As String = New Net.WebClient().DownloadString("http://www.knmi.nl/kd/maand_en_seizoensoverzichten/maand/feb11.html")
        HTML = HTML.Replace("°C.", "$")
        HTML = HTML.Replace("gemiddelde van", "$")
        HTML = HTML.Split("$")(1)
        MsgBox("Een langjarig gemiddelde van:" + HTML + "°C")

Edit: nu kun je ook heel gemakkelijk de datum veranderen in de url;)
 
Laatst bewerkt:
Hi Bedankt ga hier even mee stoeien.
en vraag mij af of dit ook in C# kan heb ook nog een App in C# waar dit leuk in kan zijn.

Code:
string HTML = new System.Net.WebClient().DownloadString("http://www.knmi.nl/kd/maand_en_seizoensoverzichten/maand/feb11.html");
            HTML = HTML.Replace("°C.", "$");
            HTML = HTML.Replace("gemiddelde van", "$");
            [COLOR="red"]HTML = HTML.Split("$")[1];[/COLOR]//Gaat hier mis
             MessageBox.Show("Een langjarig gemiddelde van:" + HTML + "°C");

maar zover zogoed
Bedankt Old Hippy
 
Hi heel hartelijk bedanktbedankt stefanz
Het werkt in vb nu nog in C#

Groet Old Hippy
 
Hi heb mij suf gegoogle maar geen oplossing voor C# gevonden.
hopelijk kan iemand mij helpen.
 
Je kan in C# niet zomaar met een string gaan splitten, alleen character arrays. Daarom een enkele aanhalingsteken gebruiken ^^

Werkende:

PHP:
string HTML = new System.Net.WebClient().DownloadString("http://www.knmi.nl/kd/maand_en_seizoensoverzichten/maand/feb11.html");
            HTML = HTML.Replace("°C.", "$");
            HTML = HTML.Replace("gemiddelde van", "$");
            HTML = HTML.Split('$')[1];
             MessageBox.Show("Een langjarig gemiddelde van:" + HTML + "°C");

Succes =)
 
Beste CaptainBri
Geweldig bedankt het werkt.
ik ben naast vb ook met c# begonnen.
gewoon om dat ik het leuk vind heb veel plezier in programeren.
dus hartelijk dank weer een stapje verder.
Beste groeten Old Hippy
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan