利用Python制作一個(gè)簡單的天氣播報(bào)系統(tǒng)
前言
大家好,我是辣條
相信大家都能感覺到最近天氣的多變,好幾次出門半路天氣轉(zhuǎn)變。辣條也深受其擾,直接給我整感冒,就差被隔離起來了,既然天氣我沒法做主,那不如用python整個(gè)天氣爬蟲來獲取天氣情況。這樣也好可以進(jìn)行一個(gè)提前預(yù)防
工具
python3.7
pycharm
pyttsx3:語音播報(bào)庫
天氣數(shù)據(jù)來源
找尋一個(gè)天氣網(wǎng)站
比如說我們要查詢某地的天氣,在輸入地名后就能看到結(jié)果。
我們可以看到網(wǎng)站的url會(huì)有變化:
每個(gè)城市的天氣信息url就是在網(wǎng)站后面加上城市拼音,既然如此可以使用函數(shù)形參來解決城市輸入問題。
代碼實(shí)現(xiàn)
# 獲取天氣的方法 def get_weather(city): # 天氣的網(wǎng)站網(wǎng)址 字符串 url = 'https://www.tianqi.com/' + city + '/' # 偽裝瀏覽器的馬甲 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.58' } # 發(fā)起網(wǎng)絡(luò)請求并獲取網(wǎng)頁代碼 website = requests.get(url=url, headers=headers) data = etree.HTML(website.text) # 數(shù)據(jù)預(yù)處理 #xpath解析頁面天氣數(shù)據(jù) weather_list = data.xpath('//dl[@class="weather_info"]//text()') weather_text = '歡迎使用天氣播報(bào)助手,以下是你想要了解的城市天氣:\n' for text in weather_list: weather_text += text if weather_text.find('[切換城市]'): weather_text = weather_text.strip('[切換城市]') print(weather_text) return weather_text
這樣就通過爬蟲就獲取到了每個(gè)城市的天氣數(shù)據(jù),再通過pyttsx3構(gòu)建出語音對象實(shí)例,將天氣文本放進(jìn)去運(yùn)行就可以了。
if __name__ == '__main__': city = input('請輸入您的城市,例如長沙:changsha-->').strip() weather_info = get_weather(city) # weather_info來獲取抓取到的天氣文字 weather = pyttsx3.init() # 初始化說話的對象 weather.say(weather_info) # 設(shè)置說話內(nèi)容 weather.runAndWait() # 開始執(zhí)行說話的操作
總結(jié)
這才是物理階層的未雨綢繆,貫穿用魔法打敗魔法的原理~ 哈哈哈
到此這篇關(guān)于利用Python制作一個(gè)簡單的天氣播報(bào)系統(tǒng)的文章就介紹到這了,更多相關(guān)Python天氣播報(bào)系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python UnicodeEncodeError: ''gbk'' codec can''t encode chara
這篇文章主要介紹了Python UnicodeEncodeError: 'gbk' codec can't encode character 解決方法,需要的朋友可以參考下2015-04-04利用python實(shí)現(xiàn)漢字轉(zhuǎn)拼音的2種方法
這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)漢字轉(zhuǎn)拼音的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python中Enum使用的幾點(diǎn)注意事項(xiàng)
Python中的枚舉是作為一個(gè)類存在的,這是與其他語言的一個(gè)較為鮮明的特征,下面這篇文章主要給大家介紹了關(guān)于Python中Enum使用的幾點(diǎn)注意事項(xiàng),需要的朋友可以參考下2022-02-02使用python實(shí)現(xiàn)哈希表、字典、集合操作
這篇文章主要介紹了使用python實(shí)現(xiàn)哈希表、字典、集合操作,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12pytorch 實(shí)現(xiàn)張量tensor,圖片,CPU,GPU,數(shù)組等的轉(zhuǎn)換
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)張量tensor,圖片,CPU,GPU,數(shù)組等的轉(zhuǎn)換,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01使用Python開發(fā)游戲運(yùn)行腳本成功調(diào)用大漠插件
閑來無事,想通過python來實(shí)現(xiàn)一些簡單的游戲輔助腳本,而游戲輔助腳本的主要原理就是通過程序來查找游戲程序窗口,模擬實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊和鍵盤按鍵等事件來實(shí)現(xiàn)游戲輔助的,對Python開發(fā)游戲運(yùn)行腳本相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧2021-11-11