Python天氣語音播報小助手

2022-09-29 15:54:19 字數 3414 閱讀 4915

馬上就要迎來國慶小長假了~激不激動,興不興奮!​

​那今年國慶:天氣怎麼樣?能不能出門逛街?能不能出去旅遊?

來來來,木木子為你整理好啦!​​這個假期,你那裡的天氣如何?

​旅遊出門就要挑個好的天氣!下雨天哪兒哪兒都不舒服。

今天小編帶大家寫一款python天氣語音播報小助手!

環境安裝:python3.6、pycharm2021、及自帶的模組等。

pip install -i requests

pip install -i opencv-python

​主要分為三大部分:

(1)獲取每日天氣情況:

de get_weather():

url = ''

response = requests.get(url)

response.encoding = 'utf-8'

response = response.text # 獲取頁面

html = etree.html(response)

day_weather = '天氣狀況:' + html.xpath('//*[@id="7d"]/ul/li[1]/p[1]/text()')[0] + '\n' # 獲取天氣,白天的天氣

high = html.xpath('//*[@id="7d"]/ul/li[1]/p[2]/span/text()')

low = html.xpath('//*[@id="7d"]/ul/li[1]/p[2]/i/text()') # 獲取對應的兩個溫度

# 因為頁面在晚上會有小變化,所以使用條件語句,來排除因變化引起的bug

if high == :

day_temperature = '室外溫度:' + low[0] + '\n'

else:

day_temperature = '室外溫度:' + low[0].replace('℃', '') + '~' + high[0] + '℃\n' # 獲取溫度

# 獲取兩個風向

wind_1 = html.xpath('//*[@id="7d"]/ul/li[1]/p[3]/em/span[1]/@title')

wind_2 = html.xpath('//*[@id="7d"]/ul/li[1]/p[3]/em/span[2]/@title')

# 因為有時候,會出現兩個風向是同乙個風向的情況,所以使用條件語句排除

if wind_2 == :

wind = wind_1[0] + '\n'

elif wind_1[0] == wind_2[0]:

wind = wind_1[0] + '\n'

else:

wind = wind_1[0] + '轉' + wind_2[0] + '\n'

# 因為風級有時候會出現「', '高於')

day_wind = '風向情況:' + wind + wind_3 + '\n' # 獲取風向及風級

return day_weather, day_temperature, day_wind

(2)獲取播報的高考時間:

def get_time():

a = datetime.datetime.now() # 實施時間

y = str(a.year)

m = str(a.month)

d = str(a.day) # 轉換為字串,便於列印

time = y + '年' + m + '月' + d + '日' + '\n'

b = datetime.datetime(2021, 6, 7) # 自己設定的高考時間

count_down = (b - a).days # 高考倒計時

return time, count_down

(3)設定播報每日雞湯文字:

def get_content():

url = '' 程式設計客棧# 網上找的api

response = requests.get(url=url)

json_s = json.loads(response.text)

jitang = json_s.get("content") + '\n' # 每日雞湯

translation = json_s.get("note") + '\n' # 中文翻譯

image_url = json_s.get("fenxiang_img") # 鏈結

return jitang, translation, image_url

(4)語音小助手依次順序播程式設計客棧報:

def main():

time, count_down = get_time()

day_weather, day_temperature, day_wind = get_weather()

jitang, translation, image_url = get_content()

count_down = '距離高考還有{}天,你準備好了嗎?'.format(count_down) + '\n'

a = www.cppcns.com'下面為您播報今日天氣狀況\n'

b = '每日一句\n'

time = '今天是' + time

weather = day_weather + day_temperature + day_wind

content = jitang + translation

text = time + count_down + a + weather + b + content # 語音內容

voice = pyttsx3.init() # 初始化

# rate = voice.getproperty('rate')

voice.setproperty('rate', 150) # 語速,範圍在0-200之間

voice.setproperty('volume', 1.0) # 範圍在0.0-1.0之間

voice.say(text) # 語音內容

程式設計客棧 voice.runandwait()

cap = cv2.videocapture(image_url) # 展示

if(cap.isopened()):

ret, img = cap.read()

my_image = cv2.resize(img, dsize=none, fx=0.5, fy=0.5)

cv2.imshow("you will succeed in the end", my_image)

cv2.waitkey()

print(time, weather, content)

效果如下:

​其實是語音播報的,but這只能截圖效果將就著看叭~哈哈哈!!!

好啦!這是一款實時播報、高考、天氣預報、每日雞湯的三合一語音智慧型小助手!想擁有嘛?

記得三連哦~mua 你們的支援是我最大的動力!

樹莓派之天氣預報語音播報

具體實施 前幾天跟同事在聊家裡的 小愛同學 可以語音報天氣,聽起來不錯,也想要乙個。不過嘛,作為技術宅的本人,如果買乙個的話,是不是太low了,於是想到家裡萬能的樹莓派,實現這個功能應該是問題不大的。開始了折騰。原則1 不對樹莓派硬體進行大的改動 原則2 我們一定要用開源或者免費的方案 要獲取天氣預...

python 語音播報txt檔案

首先匯入 pip install pyttsx3 pyttsx 是乙個跨平台將文字轉成語音的第三方庫,它對作業系統內建語言引擎實現了包裝 encoding utf 8 不轉碼會報錯,txt可以另存儲存的格式選utf 8 python unicodedecodeerror gbk codec can ...

Python實現智慧型語音播報功能

import requests 向 發起網路請求獲取網頁資料 import pyttsx3 from lxml import etree headers 1.獲取實時的天氣資訊 從天氣 中獲取 url response requests.get url,headers headers 3.篩選出我需...