Scrape počasí z ČHMÚ
-
- Nováček na fóru
- Příspěvky: 4
- Registrován: 11. září 2023, 11:55
- Dal poděkování: 3 poděkování
Scrape počasí z ČHMÚ
Ahoj, rád bych aby mi assistent skrze české TTS přečetl počasí a hledám věrohodný zdroj dat.
Našel jsem data poskytovaná ČHMÚ, pro Prahu například zde: https://www.chmi.cz/files/portal/docs/m ... /p_ph.html akorát mám problém se Scrapováním dat, potažmo jejich kódováním a nehnu s tím. Nezkoušel to už někdo tady?
Dle JS na stránce, odkud se data načítají např.: https://www.chmi.cz/predpovedi/predpove ... raje/praha, se používá kódovávání windows-1250. Našel jsem si i tabulku výčtu jazykových sad pro Python: https://docs.python.org/3/library/codec ... -encodings ale ať zadávám co zadávám do nastavení Scrape, pokaždé dostanu takový výstup:
Našel jsem data poskytovaná ČHMÚ, pro Prahu například zde: https://www.chmi.cz/files/portal/docs/m ... /p_ph.html akorát mám problém se Scrapováním dat, potažmo jejich kódováním a nehnu s tím. Nezkoušel to už někdo tady?
Dle JS na stránce, odkud se data načítají např.: https://www.chmi.cz/predpovedi/predpove ... raje/praha, se používá kódovávání windows-1250. Našel jsem si i tabulku výčtu jazykových sad pro Python: https://docs.python.org/3/library/codec ... -encodings ale ať zadávám co zadávám do nastavení Scrape, pokaždé dostanu takový výstup:
- okoun
- Pokročilý
- Příspěvky: 413
- Registrován: 30. prosinec 2022, 21:19
- Dal poděkování: 9 poděkování
- Dostal poděkování: 3 poděkování
Re: Scrape počasí z ČHMÚ
v nové verzi je teď tohle: https://www.home-assistant.io/blog/2023 ... st-service
-
- Nováček na fóru
- Příspěvky: 4
- Registrován: 11. září 2023, 11:55
- Dal poděkování: 3 poděkování
Re: Scrape počasí z ČHMÚ
Je, ale to mi nevrátí slovní vyjádření počasí, max. jednoslovné "oblačno" apod. Mým cílem je vytěžit celou předpověď z ČHMÚ a nechat si ji přečíst. Aktuální počasí mám takové, ale je to děsně strojové:
Výsledkem je, že mi TTS Antonín řekne:

Kód: Vybrat vše
{% set days = ["pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota", "neděle"] %}
{% set months = ["ledna", "února", "března", "dubna", "května", "června", "července", "srpna", "září", "října", "listopadu", "prosince"] %}
Dnes je {{ days[now().isoweekday()-1] }}, {{ now().day }}. {{ months[now().month-1] }}, {{ now().hour }} hodin a {{ now().minute }} minut. Aktulní teplota je {{ state_attr('weather.accuweather', 'temperature') | int }} stupňů, pociťová {{ states('sensor.accuweather_realfeel_temperature') | replace('.', ' celá ') }} stupňů celsia. UV index je na stupni {{ state_attr('weather.accuweather', 'uv_index') }}, oblačnost pokrývá {{ state_attr('weather.accuweather', cloud_coverage') }} procent oblohy. Dnes bude od {{ states('sensor.accuweather_realfeel_temperature_min_0d') | int }} do {{ states('sensor.accuweather_realfeel_temperature_max_0d') | int }} stupňů a zítřejší teploty budou od {{ states('sensor.accuweather_realfeel_temperature_min_1d') | int }} do {{ states('sensor.accuweather_realfeel_temperature_max_1d') | int }} stupňů Celsia.
Tak bych to rád překopal na rozumně psaný text z ČHMÚ. Jediné, přes co se nedostanu je ten encoding.Dnes je pondělí, 11. září, 14 hodin a 46 minut. Aktulní teplota je 27 stupňů, pociťová 29 celá 5 stupňů celsia. UV index je na stupni 3, oblačnost pokrývá 50 procent oblohy. Dnes bude od 15 do 30 stupňů a zítřejší teploty budou od 15 do 30 stupňů Celsia.

-
- Pokročilý
- Příspěvky: 170
- Registrován: 13. červenec 2023, 16:04
- Dal poděkování: 12 poděkování
- Dostal poděkování: 3 poděkování
Re: Scrape počasí z ČHMÚ
Antonín? Ja mám jen Jiříka... Tak radši používám nějaké děvče z UK a trénuju angličtinu 

-
- Moderátor
- Příspěvky: 739
- Registrován: 03. červenec 2021, 18:35
- Dal poděkování: 84 poděkování
- Dostal poděkování: 175 poděkování
Re: Scrape počasí z ČHMÚ
Napadlo mne tohle řešení - načíst jako binár buffer, prohnat přes iconv do UTF8 a nascrapovat lokálně na IP adrese HA..
Hoď si tohle do Node-Red:
a scrapuj pak lokální stránku co dostaneš v UTF-8
//edit:
A pokud bys scrapoval podobných stránek víc tak třeba
a volat to ve scraperu pak s parametrem stranka
Hoď si tohle do Node-Red:
Kód: Vybrat vše
[{"id":"7d6bccc7c58f5b2f","type":"tab","label":"PocasiPraha","disabled":false,"info":"","env":[]},{"id":"5d54f49b856f2885","type":"www-request","z":"7d6bccc7c58f5b2f","name":"","method":"GET","ret":"bin","url":"https://www.chmi.cz/files/portal/docs/meteo/om/predpovedi/kraje/p_ph.html","follow-redirects":true,"persistent-http":true,"tls":"","x":350,"y":100,"wires":[["ca866bb7b6e06116"]]},{"id":"5347d52e969cf222","type":"inject","z":"7d6bccc7c58f5b2f","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":140,"wires":[["5d54f49b856f2885"]]},{"id":"f825fbe6feb78fa1","type":"debug","z":"7d6bccc7c58f5b2f","name":"debug 38","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":640,"y":140,"wires":[]},{"id":"ca866bb7b6e06116","type":"converter","z":"7d6bccc7c58f5b2f","name":"","from":"win1250","x":500,"y":100,"wires":[["f825fbe6feb78fa1","7465eacf0e751ce3"]]},{"id":"f4c904e275c1a685","type":"http in","z":"7d6bccc7c58f5b2f","name":"predpovedEndpoint","url":"/predpoved","method":"get","upload":false,"swaggerDoc":"","x":150,"y":100,"wires":[["5d54f49b856f2885"]]},{"id":"7465eacf0e751ce3","type":"http response","z":"7d6bccc7c58f5b2f","name":"","statusCode":"","headers":{},"x":630,"y":100,"wires":[]}]
//edit:
A pokud bys scrapoval podobných stránek víc tak třeba
Kód: Vybrat vše
[{"id":"a08729f31e6c0b8a","type":"http in","z":"52c40f6ab9c21472","name":"iconvEndpoint","url":"/iconv","method":"get","upload":false,"swaggerDoc":"","x":90,"y":100,"wires":[["ea84ae28d972fb80"]]},{"id":"98ace27b58039140","type":"www-request","z":"52c40f6ab9c21472","name":"","method":"use","ret":"bin","url":"","follow-redirects":true,"persistent-http":true,"tls":"","x":430,"y":100,"wires":[["4d4254adfb72b3d7"]]},{"id":"4d4254adfb72b3d7","type":"converter","z":"52c40f6ab9c21472","name":"","from":"win1250","x":580,"y":100,"wires":[["a0047f72bba14b26"]]},{"id":"a0047f72bba14b26","type":"http response","z":"52c40f6ab9c21472","name":"","statusCode":"","headers":{},"x":710,"y":100,"wires":[]},{"id":"ea84ae28d972fb80","type":"change","z":"52c40f6ab9c21472","name":"payload2URL","rules":[{"t":"set","p":"url","pt":"msg","to":"req.query.stranka","tot":"msg"},{"t":"set","p":"method","pt":"msg","to":"GET","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":260,"y":100,"wires":[["98ace27b58039140"]]}]
Kód: Vybrat vše
http://192.168.199.99:1880/endpoint/iconv?stranka=https://www.chmi.cz/files/portal/docs/meteo/om/predpovedi/kraje/p_pl.html
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox
Re: Scrape počasí z ČHMÚ
Ahoj, s dovolením se vecpu do tohoto tématu. Kousek od sebe mám ČHMI meteostanici - https://www.chmi.cz/aktualni-situace/ak ... budejovice. Abych nemusel vymýšlet meteostanici, rád bych načítal data z této. Existuje elegantní způsob, jak data vytěžit?
- okoun
- Pokročilý
- Příspěvky: 413
- Registrován: 30. prosinec 2022, 21:19
- Dal poděkování: 9 poděkování
- Dostal poděkování: 3 poděkování
Re: Scrape počasí z ČHMÚ
je to už nějak vyřešené? případně bych to vyřešil....hnzcz píše: ↑11. září 2023, 12:04 Ahoj, rád bych aby mi assistent skrze české TTS přečetl počasí a hledám věrohodný zdroj dat.
Našel jsem data poskytovaná ČHMÚ, pro Prahu například zde: https://www.chmi.cz/files/portal/docs/m ... /p_ph.html akorát mám problém se Scrapováním dat, potažmo jejich kódováním a nehnu s tím. Nezkoušel to už někdo tady?
Dle JS na stránce, odkud se data načítají např.: https://www.chmi.cz/predpovedi/predpove ... raje/praha, se používá kódovávání windows-1250. Našel jsem si i tabulku výčtu jazykových sad pro Python: https://docs.python.org/3/library/codec ... -encodings ale ať zadávám co zadávám do nastavení Scrape, pokaždé dostanu takový výstup:
chmi.png
-
- Moderátor
- Příspěvky: 739
- Registrován: 03. červenec 2021, 18:35
- Dal poděkování: 84 poděkování
- Dostal poděkování: 175 poděkování
Re: Scrape počasí z ČHMÚ
o dva příspěvky výše...
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox
- okoun
- Pokročilý
- Příspěvky: 413
- Registrován: 30. prosinec 2022, 21:19
- Dal poděkování: 9 poděkování
- Dostal poděkování: 3 poděkování