01-11-2017, 11:24
Hej Alle,
Jeg er ved at lære mig lidt Python. Jeg er E-ingeniør så jeg er ok til C og C++ sådan til husbehov. Det smarte ved Python er, som mange herinde sikkert har opdaget, at man meget hurtigt kan få smækket noget brugbart sammen og få en masse funktion ud af ganske få linjers kode. Det kan man også i C, men kun hvis man er go' - meget go'! :)
Anyways, jeg håber på lidt hjælp. Jeg vil gerne lave et script, som henter vandstandsoplysninger fra DMIs hjemmeside:
https://www.dmi.dk/hav/maalinger/vandstand/
Der er et link midt på siden, som gemmer tallene i et CVS format. Dette vil jeg gerne have ind i en tabel i mit python script.
Linket er: http://servlet.dmi.dk/vandstand/servlet/...e=20171101
Jeg kan nogenlunde gennemskue nøglerne, som sendes med, og ved hjælp af requests modulet i python, kan jeg da også send nøglerne og få et svar.
Problemet er bare at koden returnerer et PNG image, som blot frotæller at der er noget galt med argumenterne. Selv når jeg lægger linket ind i en browser, kommer samme PNG billede frem. (så der er nok ikke noget galt med min kode som sådan)
Prøv selv: http://servlet.dmi.dk/vandstand/servlet/...e=20171101
Der må være noget jeg overser, men hvad?
Nogle gange skal man bare kigge sig for ...
Jeg sad og kiggede på det i aftes, og mente ikke det var nødvendigt at gennemgå det igen - det var det... Der skal stå csv of ikke cvs som value i "pres" argumentet. Nå men tak for hjælpen mig selv :)
Jeg er ved at lære mig lidt Python. Jeg er E-ingeniør så jeg er ok til C og C++ sådan til husbehov. Det smarte ved Python er, som mange herinde sikkert har opdaget, at man meget hurtigt kan få smækket noget brugbart sammen og få en masse funktion ud af ganske få linjers kode. Det kan man også i C, men kun hvis man er go' - meget go'! :)
Anyways, jeg håber på lidt hjælp. Jeg vil gerne lave et script, som henter vandstandsoplysninger fra DMIs hjemmeside:
https://www.dmi.dk/hav/maalinger/vandstand/
Der er et link midt på siden, som gemmer tallene i et CVS format. Dette vil jeg gerne have ind i en tabel i mit python script.
Linket er: http://servlet.dmi.dk/vandstand/servlet/...e=20171101
Jeg kan nogenlunde gennemskue nøglerne, som sendes med, og ved hjælp af requests modulet i python, kan jeg da også send nøglerne og få et svar.
Kode:
import requests
from collections import OrderedDict # enables OrderedDict()
payload = OrderedDict()
url = "http://servlet.dmi.dk/vandstand/servlet/ImageServlet"
payload["type"] = "Vandstand"
payload["pres"] = "cvs"
payload["stat"] = 20101
payload["date"] = 20171101
print payload
r = requests.get(url, params=payload)
print(r.url)
print r.text
Problemet er bare at koden returnerer et PNG image, som blot frotæller at der er noget galt med argumenterne. Selv når jeg lægger linket ind i en browser, kommer samme PNG billede frem. (så der er nok ikke noget galt med min kode som sådan)
Prøv selv: http://servlet.dmi.dk/vandstand/servlet/...e=20171101
Der må være noget jeg overser, men hvad?
Nogle gange skal man bare kigge sig for ...
Jeg sad og kiggede på det i aftes, og mente ikke det var nødvendigt at gennemgå det igen - det var det... Der skal stå csv of ikke cvs som value i "pres" argumentet. Nå men tak for hjælpen mig selv :)