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

溫馨提示×

溫馨提示×

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

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

Python如何實現天氣語音播報小助手

發布時間:2021-09-26 10:08:39 來源:億速云 閱讀:160 作者:小新 欄目:開發技術

這篇文章主要介紹了Python如何實現天氣語音播報小助手,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

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

pip install -i https://pypi.douban.com/simple/ requests 
 
pip install -i https://pypi.douban.com/simple/ opencv-python

主要分為三大部分:

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

def get_weather():
    url = 'http://www.weather.com.cn/weather/101290101.shtml'
    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'
    # 因為風級有時候會出現“<",語音的時候會認為是愛心符號,所以使用替換,改為文字”低于“
    wind_3 = html.xpath('//*[@id="7d"]/ul/li[1]/p[3]/i/text()')[0].replace('<', '低于').replace('>', '高于')
    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 = 'http://open.iciba.com/dsapi/'  # 網上找的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 = '下面為您播報今日天氣狀況\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)

效果如下:

Python如何實現天氣語音播報小助手

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python如何實現天氣語音播報小助手”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

AI

镇安县| 宁津县| 岢岚县| 广州市| 柞水县| 名山县| 石首市| 老河口市| 二连浩特市| 江川县| 黑龙江省| 库伦旗| 揭西县| 体育| 新泰市| 凉山| 邹平县| 什邡市| 喀喇沁旗| 神农架林区| 大宁县| 上犹县| 宁明县| 成都市| 六枝特区| 剑川县| 洛隆县| 大足县| 静宁县| 盐亭县| 宁国市| 霸州市| 油尖旺区| 都江堰市| 平远县| 滦平县| 崇州市| 明水县| 咸阳市| 张家口市| 宜州市|