中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中使用Jupyter實現一個天氣查詢功能

發布時間:2021-04-16 16:27:45 來源:億速云 閱讀:455 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在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)

怎么在python中使用Jupyter實現一個天氣查詢功能

第二步:訪問url鏈接,解析服務器返回的json數據,變成python的字典數據

weather_data = urllib.request.urlopen(url).read()
# 訪問url鏈接,獲取字節串數據
weather_data

怎么在python中使用Jupyter實現一個天氣查詢功能

# 將字節串解碼為unicode編碼
weather_data = gzip.decompress(weather_data)
weather_data

怎么在python中使用Jupyter實現一個天氣查詢功能

# 將unicode編碼解碼為utf-8編碼,顯示中文
weather_data = weather_data.decode('utf-8')
weather_data

怎么在python中使用Jupyter實現一個天氣查詢功能

# 將字符串兩端的引號去掉,變成python中的字典數據
weather_dict = eval(weather_data)
weather_dict

怎么在python中使用Jupyter實現一個天氣查詢功能

type(weather_dict)

第三步:對字典進行索引,獲取氣溫、風速、風向等天氣信息

weather_dict

怎么在python中使用Jupyter實現一個天氣查詢功能

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('--------------------------')

怎么在python中使用Jupyter實現一個天氣查詢功能

第四步:遍歷forecast列表中的五個元素,打印天氣信息

weather_dict[‘data'][‘forecast']是一個包含五個元素的列表,每一個元素都是一個字典。

weather_dict['data']['forecast']

怎么在python中使用Jupyter實現一個天氣查詢功能

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實現一個天氣查詢功能

完整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實現一個天氣查詢功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽宁省| 赣州市| 游戏| 香格里拉县| 平乡县| 克什克腾旗| 南召县| 惠东县| 浏阳市| 玉林市| 三门县| 青浦区| 凌源市| 建水县| 石台县| 清涧县| 仁化县| 正安县| 新绛县| 灵璧县| 西林县| 谢通门县| 沂源县| 康保县| 清新县| 西城区| 昌黎县| 长宁区| 安图县| 翁源县| 封丘县| 平武县| 理塘县| 沅江市| 哈密市| 丹棱县| 义乌市| 修水县| 清流县| 同江市| 额济纳旗|