今天會(huì)下雨嗎?教你使用Python預(yù)測(cè)天氣
譯文【51CTO.com快譯】世界不同的地區(qū),天氣也多種多樣。本文將使用幾行 Python代碼, 帶你學(xué)習(xí)預(yù)測(cè)天氣的千變?nèi)f化。
什么是wttr?
使用Python預(yù)測(cè)天氣的第一步,我們要了解wttr是什么。wttr.in是一個(gè)面向控制臺(tái)的天氣預(yù)報(bào)服務(wù),它支持各種信息表示方法,如面向終端的ANSI序列(用于控制臺(tái)HTTP客戶端(curl、httpie或wget))、HTML(用于web瀏覽器)或PNG(用于圖形查看器)。
wttr.in使用wego進(jìn)行可視化和各種數(shù)據(jù)源的天氣預(yù)報(bào)信息。
使用 Requests 模塊
第二步要了解Requests模塊,Requests是一個(gè)簡(jiǎn)單而優(yōu)雅的HTTP庫(kù)。它讓你容易地發(fā)送HTTP/1.1請(qǐng)求。并且Requests模塊已正式支持Python 2.7 & 3.5+。
在熟悉了Requests 模塊的基本知識(shí)和wttr的基本知識(shí)后,我們可以進(jìn)行編碼部分。
編寫(xiě)代碼
可以在??GitHub Repository?? 中找到所有代碼。
代碼示例:
為了訪問(wèn)Python庫(kù),需要將其安裝到Python環(huán)境中。
pip install requests
接下來(lái)我們需要使用下面的命令將包導(dǎo)入到Python腳本中。
import requests
現(xiàn)在我們已經(jīng)使用命令 import requests 導(dǎo)入了庫(kù)。
下一步需要用戶輸入他/她希望獲取天氣詳細(xì)信息的city名稱。
city = input('input the city name')
print(city)
如果你只需預(yù)測(cè)自己所在城市的天氣,也可以給city一個(gè)確定的值。
city = 'bhopal'
現(xiàn)在,讓我們顯示一條簡(jiǎn)單的消息。
print('Displaying Weather report for: ' + city)
#output:
Displaying Weather report for: bhopal
讓我們來(lái)定義URL,我們將使用這種格式來(lái)傳遞city作為參數(shù)。
url = 'https://wttr.in/{}'.format(city)
是時(shí)候使用 requests 模塊了。
res = requests.get(url)
我們的結(jié)果數(shù)據(jù)存儲(chǔ)在res中。我們使用文本方法提取所需的天氣細(xì)節(jié),并顯示結(jié)果。
print(res.text)
這是天氣預(yù)報(bào)的樣子:
到這里,天氣預(yù)報(bào)功能就編寫(xiě)好了,是不是很簡(jiǎn)單呢?
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】