def pridobi_geopedia_podatke(): pripomocki.logger.info("Pridobivam Geopedia podatke.") data = requests.get("http://vreme.geopedia.si/?locationId=15957") pripomocki.logger.info("Urejam Geopedia podatke.") data = data.text datum_danes = re.search(r'<h3>Danes \((.*)\)</h3>', data) datum_danes = time.strftime("%d.%m.%Y", time.strptime(datum_danes.group(1), "%d.%m.%Y")) datum_jutri = re.search(r'<h3>Jutri \((.*)\)</h3>', data) datum_jutri = time.strftime("%d.%m.%Y", time.strptime(datum_jutri.group(1), "%d.%m.%Y")) zacasni_podatki_danes = re.findall(r'<td>(\d\d:\d\d)</td>\s*\n\s*<td align="center"><img src=".*".*/></td>' r'<td align="center"><b>(-?\d+.?\d*)</b>', data) zacasni_podatki_jutri = re.findall(r'<td>\s(\d\d:\d\d)</td>\s*\n\s*<td align="center"><img src=".*".*/></td>' r'<td align="center"><b>(-?\d+.?\d*)</b>', data) podatki_danes = [] for cas, temperatura in zacasni_podatki_danes: podatki_danes.append((datum_danes + " " + cas, temperatura)) podatki_jutri = [] for cas, temperatura in zacasni_podatki_jutri: podatki_jutri.append((datum_jutri + " " + cas, temperatura)) podatki_danes = pripomocki.uredi_podatke(podatki_danes, False) podatki_jutri = pripomocki.uredi_podatke(podatki_jutri, False) pripomocki.logger.info("Geopedia podatki urejeni.") return [podatki_danes, podatki_jutri]
def pridobi_accuweather_podatke(dan): pripomocki.logger.info("Pridobivam AccuWeather podatke.") data = requests.get("http://m.accuweather.com/en/si/planina-pod-golico/1562618/" "hourly-weather-forecast/299198?ptab=o&day={}".format(dan)) pripomocki.logger.info("Urejam AccuWeather podatke.") data = data.text meseci = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6, 'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12} datum = re.search(r'<h2 class="grey">\w{3} (\w{3}) (\d+)</h2>', data) datum = "{}.{}.{}".format(datum.group(2), meseci[datum.group(1)], datetime.datetime.now().year) datum = time.strftime("%d.%m.%Y", time.strptime(datum, "%d.%m.%Y")) zacasni_podatki = re.findall(r'<div name="hour_(\d\d)" class="wx-cell">\s*\n.*\n.*\n.*\n.*\n.*\n\s*<td class="temp"' r'>(-?\d+.?\d*)&.*(\n.*){13}\n\s*<p>Humidity <b>(\d+).*</b></p>', data) podatki = [] for cas, temperatura, _, vlaga in zacasni_podatki: cas = "{}:00".format(int(cas)) podatki.append((datum + " {}".format(cas), temperatura, vlaga)) podatki = pripomocki.uredi_podatke(podatki, True) pripomocki.logger.info("AccuWeather podatki urejeni.") return podatki
def pridobi_wunderground_podatke(): pripomocki.logger.info("Pridobivam Wunderground podatke.") data = requests.get("http://api.wunderground.com/api/0ed343f63bce1e0b/hourly10day/q/locid:SIXX1180;loctype:1.json") pripomocki.logger.info("Urejam Wunderground podatke.") data = data.text vsi_podatki = json.loads(data) napoved = vsi_podatki['hourly_forecast'] koncni_podatki = [] for podatek in napoved: cas = podatek['FCTTIME'] datum = "{}.{}.{} {}:00".format(cas['mday_padded'], cas['mon_padded'], cas['year'], cas['hour']) koncni_podatki.append((datum, podatek['temp']['metric'], podatek['humidity'])) koncni_podatki = pripomocki.uredi_podatke(koncni_podatki, True) koncni_podatki = razvrsti_po_dnevih(koncni_podatki) pripomocki.logger.info("Wunderground podatki urejeni.") return koncni_podatki