%pylab inline x = linspace(0, 10, 50) y = 0.2*x y2 = cos(x) plot(x,y) plot(x,y2) x plt.xkcd() plt.title('Cosine!') plot(x, y2) from IPython.display import YouTubeVideo YouTubeVideo('t_TzRaK9kpU') from IPython.display import HTML HTML('') from lxml import etree import dateutil.parser as dparser # les XML-dokument fra url og hent ut rot-noden (se http://api.met.no/weatherapi/sunrise/1.0/documentation) tree = etree.parse('http://api.met.no/weatherapi/sunrise/1.0/?lat=59.9132694;lon=10.7391112;date=2015-02-19') root = tree.getroot() # skriv ut hele XML-dokumentet #print(etree.tostring(root, pretty_print=True)) # 1. finn den første tag-en ved navn "sun", og les attributtene "rise" og "set" # 2. les disse attributtene inn i et dato-og-tid objekt (ved hjelp av dparser.parse()) sunrise = dparser.parse(next(tree.iter('sun')).attrib['rise']) sunset = dparser.parse(next(tree.iter('sun')).attrib['set']) # hent ut tid-delen, gjør denne om til en tekststreng og skriv ut print "Rise (UTC tid): " + str(sunrise.time()) print "Set (UTC tid): " + str(sunset.time()) from lxml import etree import dateutil.parser as dparser import datetime as dt from IPython.display import Image # les XML-dokument fra url og hent ut rot-noden (se http://api.met.no/weatherapi/locationforecast/1.9/documentation) tree = etree.parse('http://api.met.no/weatherapi/locationforecast/1.9/?lat=59.9132694;lon=10.7391112') root = tree.getroot() # skriv ut hele XML-dokumentet #print(etree.tostring(root, pretty_print=True)) # finn modellen som heter "LOCAL" og les ut tidsperioden varselet gjelder for for element in tree.iter('model'): if element.attrib['name'] == 'LOCAL': from_time = dparser.parse(element.attrib['from']) to_time = dparser.parse(element.attrib['to']) print "Leser fra varsel for perioden " + str(from_time) + " til " + str(to_time) + " (UTC tid)" # 1. gå igjennom alle time-tag-er, finn tag-en som dekker nåtid til +1 time # 2. finn så værsymbolet gitt i tag-en "symbol", som er en barne-tag av time-tag-en for element in tree.iter('time'): current_from = dparser.parse(element.attrib['from']) current_to = dparser.parse(element.attrib['to']) if current_from == from_time and (from_time + dt.timedelta(hours=1)) == current_to: weather_symbol_text = next(element.iterdescendants('symbol')).attrib['id'] weather_symbol_number = next(element.iterdescendants('symbol')).attrib['number'] print "\nAktuelt værsymbol:" # konstruer url for å hente riktig værsymbol fra api.met.no weather_symbol_url = "http://api.met.no/weatherapi/weathericon/1.1/?symbol=" + weather_symbol_number +";is_night=0;content_type=image/png" #print weather_symbol_url # hent værsymbol-bildet og vis det weather_symbol_image = Image(url=weather_symbol_url) display(weather_symbol_image) print weather_symbol_text