Skip to content

Latest commit

 

History

History
61 lines (43 loc) · 1.94 KB

02-advanced-metar.md

File metadata and controls

61 lines (43 loc) · 1.94 KB

Knihovna requests a ElementTree

Python je vhodný nástroj pro práci se službami třetích stran.

Motivace

METAR je formát pro předávání informací o počasí v letectví. Na některých letištích se pravidelně zjištuje stav počasí a některé webové služby ho přes API poskytují.

Úkol

Zkuste napsat program, který zobrazí poslední zjištěnou teplotu na letišti v Brně-Tuřanech. Stav počasí si stáhněte přes HTTP API z nějaké veřejné služby.

Pro stažení použijte modul requests

Odkazy:

import requests

response = requests.get('http://some.uri.dev/')
print(response.content)

Pro rozparsování XML použijte např. modul ElementTree.

V XML dodávaném službou aviationweather.gov je několik měření, zobrazte jen to nejčerstvější.

import xml.etree.ElementTree as etree

tree = etree.fromstring(xml_string)
for element in tree.findall('.//data/METAR'):
    temperature = element.find('./temp_c').text

Unable to import requests

Pokud chybí modul requests, je možné použít alternativu urllib.request. Na fakultních strojích by měl nicméně být modul requests přítomný.

from urllib.request import urlopen

url = urlopen('http://ifconfig.co/json')
response_body = url.read()