国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python3 XML 獲取雅虎天氣的實(shí)現(xiàn)方法

2020-02-22 23:05:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

參考廖雪峰的Python教程,實(shí)現(xiàn)Linux Python3獲取雅虎天氣

#!/usr/bin/env python3# coding: utf-8import osfrom datetime import datetimefrom urllib import request from xml.parsers.expat import ParserCreate file_name = "weather.txt"for root, dirs, files in os.walk("."): if file_name in files:  os.remove(os.path.join(root, file_name))def yahoo_weather(data): flag = False weather = {"city": "", "pubdate": "", "forecast": []} def start_element(name, attrs):  if name == "yweather:location":   weather["city"] = weather["city"] + attrs["city"]   weather["city"] = weather["city"] + " " + attrs["country"]  if name == "yweather:forecast":   forecast = {}   forecast["date"] = attrs["date"]   forecast["day"] = attrs["day"]   forecast["high"] = attrs["high"]   forecast["low"] = attrs["low"]   forecast["text"] = attrs["text"]   weather["forecast"].append(forecast)  if name == "pubDate":   nonlocal flag   flag = True   def char_data(text):  nonlocal flag  if flag:   weather["pubdate"] = text   flag = False parser = ParserCreate() parser.StartElementHandler = start_element parser.CharacterDataHandler = char_data parser.Parse(data) return weatherdef print_weather(weather): with open(file_name, "a") as f:  s = "City: %s/nPub date: %s" %(weather["city"], weather["pubdate"])  print("%s" %(weather["city"]))  f.write(s + "/n")  for forecast in weather["forecast"]:   date = datetime.strptime(forecast["date"], "%d %b %Y").strftime("%Y-%m-%d")   s = "Date: %s High: %s Low: %s Weather: %s" %(date, forecast["high"], forecast["low"], forecast["text"])   f.write(s + "/n")  f.write("/n")citys = ["2151330", "2151849", "44418", "615702", "2514815"]for city in citys: url = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20%3D%20" url = url + city url = url + "&format=xml" with request.urlopen(url, timeout=4) as f:  weather = yahoo_weather(f.read())  print_weather(weather)print("weather conditions has written to %s" %(file_name))

以上這篇Python3 XML 獲取雅虎天氣的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 金坛市| 拜泉县| 阜新市| 南召县| 和政县| 滦平县| 阿勒泰市| 海原县| 六安市| 巴青县| 乐清市| 兖州市| 和田市| 崇信县| 牡丹江市| 龙海市| 榆树市| 都兰县| 田东县| 寿光市| 大兴区| 莫力| 江山市| 聂拉木县| 丹江口市| 犍为县| 梁山县| 剑阁县| 浙江省| 巧家县| 木里| 吉隆县| 惠水县| 宕昌县| 米脂县| 沅陵县| 集安市| 叶城县| 江都市| 拜城县| 祁连县|