在簡單讀完python入門與實踐專案2(資料視覺化)之後,簡單的做的乙個天氣顯示。可以說和書上的差不多,用來熟悉一下。
import requests
import pygal
url =
''city =
input
("請輸入查詢城市:"
)# 傳遞url引數字典
payload =
response = requests.post(url, params=payload)
# 檢視狀態碼
print
("response code:"
, response.status_code)
# 處理相關資訊
result_dict = response.json(
)if result_dict:
try:
error_code = result_dict[
'error_code'
]if error_code ==0:
# 溫度
temperature = result_dict[
'result'][
'realtime'][
'temperature'
]# 濕度
humidity = result_dict[
'result'][
'realtime'][
'humidity'
]# 天氣情況
info = result_dict[
'result'][
'realtime'][
'info'
]# 風向
direct = result_dict[
'result'][
'realtime'][
'direct'
]# 風力
power = result_dict[
'result'][
'realtime'][
'power'
]# 空氣質素指數
aqi = result_dict[
'result'][
'realtime'][
'aqi'
]# 獲取**資訊
futures = result_dict[
'result'][
'future'
] dates, min_plot_dicts, max_plot_dicts =,,
for future in futures:
date = future[
'date'
] min_plot_dict =
max_plot_dict=
print
("溫度:%s\n濕度:%s\n天氣:%s\n風向:%s\n風力:%s\n空氣質素:%s"%(
temperature, humidity, info, direct, power, aqi)
)print
('dates:'
, dates)
else
:print
("請求失敗:%s %s"
%(result_dict[
'error_code'
], result_dict[
"reason"])
)except exception:
print
(exception.__repr__())
else
: line_cart = pygal.line(
) line_cart.title =
'future 5 days temperature'
line_cart.x_labels = dates
line_cart.add(
'min'
, min_plot_dicts)
line_cart.add(
'max'
, max_plot_dicts)
line_cart.render_to_file(
'temperature.svg'
)else
:# 由於網路異常等原因,無法獲取返回內容,請求異常
print
('請求失敗'
)
顯示的圖形:
Flex 天氣預報
效果如下截圖 建立乙個flex專案weather 在weather.mxml中新增乙個httpwebservice如下 result onresult event resultformat e4x 定義乙個onresult函式如下 bindable private var xml xml new x...
python天氣預報
1.引入requests import requests def query now 查詢實時天氣 return none query city input 請輸入要查詢的城市名稱 2.準備url位址 url query city 3.發請求,接收資料 response requests.get u...
天氣預報小偷
首先,進行小偷程式的一些初始化設定,以上 的作用分別是忽略掉所有非致命性錯誤,把小偷程式的執行超時時間設定得很長 這樣不會出現執行超時的錯誤 轉換原來預設的utf 8編碼轉換成gb2312編碼,否則直接用xmlhttp元件呼叫有中文字元的網頁得到的將是亂碼。然後呼叫xmlhttp元件建立乙個物件並進...