欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3爬蟲之自動(dòng)查詢天氣并實(shí)現(xiàn)語音播報(bào)

 更新時(shí)間:2019年02月21日 15:34:23   作者:TM0831  
這篇文章主要介紹了Python3爬蟲之自動(dòng)查詢天氣并實(shí)現(xiàn)語音播報(bào),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、寫在前面

之前寫過一篇用Python發(fā)送天氣預(yù)報(bào)郵件的博客,但是因?yàn)橐謩?dòng)輸入城市名稱,還要打開郵箱才能知道天氣情況,這也太麻煩了。于是乎,有了這一篇博客,這次我要做的就是用Python獲取本機(jī)IP地址,并根據(jù)這個(gè)IP地址獲取物理位置也就是我所在的城市名稱,然后用之前的辦法實(shí)現(xiàn)查詢天氣,再利用百度語音得到天氣預(yù)報(bào)的MP3文件,最后播放,這樣是不是就很方(tou)便(lan)了呢?

二、具體步驟

這次有四個(gè)py文件:get_ip.py,get_wather.py,get_mp3.py和main.py。其中g(shù)et_ip.py實(shí)現(xiàn)了獲取本機(jī)ip地址和物理位置,get_wather.py實(shí)現(xiàn)了根據(jù)物理位置查詢天氣,get_mp3.py實(shí)現(xiàn)了調(diào)用百度語音API把文本轉(zhuǎn)化成MP3文件,main.py是我們需要運(yùn)行的py文件。這里由于查詢天氣用的是之前的方法,所以就不需要贅述了,主要說一下get_ip.py和get_mp3.py。

(1)get_ip.py

要獲取本機(jī)IP,這里有一個(gè)很簡單的辦法,就是打開這個(gè)網(wǎng)頁:https://www.ip.cn/,打開之后就能看到我們的IP地址和所在地理位置信息了。因?yàn)槲覀兛梢哉埱笠幌逻@個(gè)網(wǎng)頁,然后對返回的結(jié)果進(jìn)行一下解析,就能得到我們想要的結(jié)果了。代碼如下:

"""
Version: Python3.5
Author: OniOn
Site: http://www.cnblogs.com/TM0831/
Time: 2019/2/9 16:46
"""
import re
import requests
# 獲取本機(jī)IP和地理位置
def get_ip():
  res = requests.get("http://www.ip.cn")
  result = re.findall("<p>您現(xiàn)在的 IP:<code>(.*?)</code></p><p>所在地理位置:<code>(.*?)</code>", res.text)
  ip, address = "", ""
  if len(result):
    ip = result[0][0] # IP地址
    address = result[0][1].split(' ')[0] # 地理位置
  else:
    print("Error!")
    exit()
  return ip, address

(2)get_mp3.py

這里需要使用百度云,沒有賬號(hào)的需要先注冊一下,然后搜索一下百度語音,再創(chuàng)建一個(gè)應(yīng)用,如下:

這里AppID、API Key和Secret Key在后面都需要用到,具體使用方法參見官方文檔。這里還需要安裝一個(gè)第三方庫:baidu-aip,可以使用pip install baidu-aip進(jìn)行下載安裝。

下面是一個(gè)調(diào)用百度語音接口的示例:

from aip import AipSpeech

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
result = client.synthesis('你好百度', 'zh', 1, {
  'vol': 5,
})

# 識(shí)別正確返回語音二進(jìn)制 錯(cuò)誤則返回dict
if not isinstance(result, dict):
  with open('auido.mp3', 'wb') as f:
    f.write(result)

其中synthesis方法的各參數(shù)含義如下:

有了這個(gè)例子,做起來就簡單多了,只需要將天氣預(yù)報(bào)的文本傳入進(jìn)去就行了,然后我們可以根據(jù)自己喜好改變一下其他參數(shù)。代碼如下:

"""
Version: Python3.5
Author: OniOn
Site: http://www.cnblogs.com/TM0831/
Time: 2019/2/9 17:53
"""
from aip import AipSpeech

# 你的APP_ID,API_KEY,SECRET_KEY
APP_ID = ""
API_KEY = “"
SECRET_KEY = ""


# 獲取語音文件
def get_mp3(text):
  client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

  result = client.synthesis(text, 'zh', 1, {"spd": 4, "vol": 6})

  # 識(shí)別正確返回語音二進(jìn)制,錯(cuò)誤則返回dict
  if not isinstance(result, dict):
    with open('weather.mp3', 'wb') as f:
      f.write(result)
  else:
    print("Error!")
    exit()

三、運(yùn)行結(jié)果

首先是的代碼運(yùn)行的結(jié)果,如下圖:

然后會(huì)生成一個(gè)weather.mp3文件:

最后會(huì)播放這個(gè)MP3文件。

完整代碼已上傳到GitHub!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python Scrapy圖片爬取原理及代碼實(shí)例

    Python Scrapy圖片爬取原理及代碼實(shí)例

    這篇文章主要介紹了Python Scrapy圖片爬取原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 學(xué)點(diǎn)簡單的Django之第一個(gè)Django程序的實(shí)現(xiàn)

    學(xué)點(diǎn)簡單的Django之第一個(gè)Django程序的實(shí)現(xiàn)

    這篇文章主要介紹了學(xué)點(diǎn)簡單的Django之第一個(gè)Django程序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python使用pyautogui模塊實(shí)現(xiàn)自動(dòng)化鼠標(biāo)和鍵盤操作示例

    Python使用pyautogui模塊實(shí)現(xiàn)自動(dòng)化鼠標(biāo)和鍵盤操作示例

    這篇文章主要介紹了Python使用pyautogui模塊實(shí)現(xiàn)自動(dòng)化鼠標(biāo)和鍵盤操作,簡單描述了pyautogui模塊的功能,并結(jié)合實(shí)例形式較為詳細(xì)的分析了Python使用pyautogui模塊實(shí)現(xiàn)鼠標(biāo)與鍵盤自動(dòng)化操作相關(guān)技巧,需要的朋友可以參考下
    2018-09-09
  • 最新評(píng)論