您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在python中使用Jupyter實現一個天氣查詢功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
第0步:導入工具庫
import urllib.request import gzip
第一步:生成查詢天氣的url鏈接
city_name = '上海' # 將城市的中文名字編碼成utf-8字符 urllib.parse.quote(city_name) # 將編碼后的城市名拼接在原始鏈接的后面 url = 'http://wthrcdn.etouch.cn/weather_mini?city=' + urllib.parse.quote(city_name)
第二步:訪問url鏈接,解析服務器返回的json數據,變成python的字典數據
weather_data = urllib.request.urlopen(url).read()
# 訪問url鏈接,獲取字節串數據 weather_data
# 將字節串解碼為unicode編碼 weather_data = gzip.decompress(weather_data)
weather_data
# 將unicode編碼解碼為utf-8編碼,顯示中文 weather_data = weather_data.decode('utf-8')
weather_data
# 將字符串兩端的引號去掉,變成python中的字典數據 weather_dict = eval(weather_data)
weather_dict
type(weather_dict)
第三步:對字典進行索引,獲取氣溫、風速、風向等天氣信息
weather_dict
weather_dict['data']['yesterday']['high']
print('您查詢的城市:',weather_dict['data']['city']) print('--------------------------') print('今天的天氣') print('溫度',weather_dict['data']['wendu']) print('感冒指數',weather_dict['data']['ganmao']) print('--------------------------') print('昨天的天氣') print('昨天:',weather_dict['data']['yesterday']['date']) print('天氣:',weather_dict['data']['yesterday']['type']) print('最高氣溫:',weather_dict['data']['yesterday']['high']) print('最低氣溫:',weather_dict['data']['yesterday']['low']) print('風向:',weather_dict['data']['yesterday']['fx']) print('風力:',weather_dict['data']['yesterday']['fl'][-5:-3]) print('--------------------------')
第四步:遍歷forecast列表中的五個元素,打印天氣信息
weather_dict[‘data'][‘forecast']是一個包含五個元素的列表,每一個元素都是一個字典。
weather_dict['data']['forecast']
for each in weather_dict['data']['forecast']: print('日期',each['date']) print('天氣',each['type']) print(each['high']) print(each['low']) print('風向',each['fengxiang']) print('風力:',each['fengli'][-5:-3]) print('--------------------------')
完整Python代碼
# 導入工具庫 import urllib.request import gzip ## 第一步:生成查詢天氣的url鏈接 city_name = input('請輸入要查詢的城市名稱:') # 將城市的中文名字編碼成utf-8字符 urllib.parse.quote(city_name) # 生成完整url鏈接 url = 'http://wthrcdn.etouch.cn/weather_mini?city='+urllib.parse.quote(city_name) ## 第二步:訪問url鏈接,解析服務器返回的json數據,變成python的字典數據 # 獲取服務器返回的json字節串數據 weather_data = urllib.request.urlopen(url).read() # 將字節串數據解碼為unicode中的utf-8數據 weather_data = gzip.decompress(weather_data).decode('utf-8') # 將json數據轉為python的字典數據 weather_dict = eval(weather_data) if weather_dict.get('desc') == 'invilad-citykey': print('您輸入的城市未收錄') # 第三步:對字典進行索引,獲取氣溫、風速、風向等天氣信息 print('您查詢的城市:',weather_dict['data']['city']) print('--------------------------') print('今天的天氣') print('溫度',weather_dict['data']['wendu']) print('感冒指數',weather_dict['data']['ganmao']) print('--------------------------') print('昨天的天氣') print('昨天:',weather_dict['data']['yesterday']['date']) print('天氣:',weather_dict['data']['yesterday']['type']) print('最高氣溫:',weather_dict['data']['yesterday']['high']) print('最低氣溫:',weather_dict['data']['yesterday']['low']) print('風向:',weather_dict['data']['yesterday']['fx']) print('風力:',weather_dict['data']['yesterday']['fl'][-5:-3]) print('--------------------------') # 第四步:遍歷forecast列表中的五個元素,打印天氣信息 for each in weather_dict['data']['forecast']: print('日期',each['date']) print('天氣',each['type']) print(each['high']) print(each['low']) print('風向',each['fengxiang']) print('風力:',each['fengli'][-5:-3]) print('--------------------------')
看完上述內容,你們對怎么在python中使用Jupyter實現一個天氣查詢功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。