Python3爬蟲之自動查詢天氣並實現語音播報

2022-10-04 17:57:11 字數 2522 閱讀 1054

一、寫在前面

之前寫過一篇用python傳送天氣預報郵件的部落格,但是因為要手動輸入城市名稱,還要開啟郵箱才能知道天氣情況,這也太麻煩了。於是乎,有了這一篇部落格,這次我要做的就是用python獲取本機ip位址,並根據這個ip位址獲取物理位置也就是我所在的城市名稱,然後用之前的辦法實現查詢天氣,再利用百度語音得到天氣預報的***檔案,最後**,這樣是不是就很方(tou)便(lan)了呢?

二、具體步驟

這次有四個py檔案:get_ip.py,get_wather.py,get_***.py和main.py。其中get_ip.py實現了獲取本機ip位址和物理位置,get_wather.py實現了根據物理位置查詢天氣,get_***.py實現了呼叫百度語音api把文字轉化成***檔案,main.py是我們需要執行的py檔案。這裡由於查詢天氣用的是之前的方法,所以就不需要贅述了,主要說一下get_ip.py和get_***.py。

(1)get_ip.py

要獲取本機ip,這裡有乙個很簡單的辦法,就是開啟這個網頁:開啟之後就能看到我們的ip位址和所在地理位置資訊了。因為我們可以請求一下這個網頁,然後對返回的結果進行一下解析,就能得到我們想要的結果了。**如下:

"""version: python3.5

author: onion

site:

time: 2019/2/9 16:46

"""imujwnuqvfxmport re

import requests

# 獲取本機ip和地理位置

def get_ip():

res = requests.get("")

result = re.findall("您現程式設計客棧在的 ip:(程式設計客棧.*?)

程式設計客棧所在地理位置:(.*?)", 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_***.py

這裡需要使用百度雲,沒有賬號的需要先註冊一下,然後搜尋一下百度語音,再建立乙個應用,如下:

這裡appid、api key和secret key在後面都需要用到,具體使用方法參見官方文件。這裡還需要安裝乙個第三方庫:baidu-aip,可以使用pip install baidu-aip進行**安裝。

下面是乙個呼叫百度語音介面的示例:

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, )

# 識別正確返回語音二進位制 錯誤則返回dict

if not isinstance(result, dict):

with open('auido.***', 'wb') as f:

f.write(result)

其中synthesis方法的各引數含義如下:

有了這個例子,做起來就簡單多了,只需要將天氣預報的文字傳入進去就行了,然後我們可以根據自己喜好改變一下其他引數。**如下:

"""version: python3.5

author: onion

site:

time: 2019/2/9 17:53

"""from aip import aipspeech

# 你的app_id,api_key,secret_key

app_id = ""

api_key = 「"

secret_key = ""

# 獲取語音檔案

def get_***(text):

client = aipspeech(app_id, api_key, secret_key)

result = client.synthesis(text, 'zh', 1, )

# 識別正確返回語音二進位制,錯誤則返回dict

if not isinstance(result, dict):

with open('weather.***', 'wb') as f:

f.write(result)

else:

print("error!")

exit()

三、執行結果

首先是的**執行的結果,如下圖:

然後會生成乙個weather.***檔案:

最後會**這個***檔案。

完整**已上傳到github!

本文標題: python3爬蟲之自動查詢天氣並實現語音播報

本文位址:

Python3爬蟲之自動查詢天氣並實現語音播報

1 get ip.py 要獲取本機ip,這裡有乙個很簡單的辦法,就是開啟這個網頁 開啟之後就能看到我們的ip位址和所在地理位置資訊了。因為我們可以請求一下這個網頁,然後對返回的結果進行一下解析,就能得到我們想要的結果了。如下 import re import requests 獲取本機ip和地理位置...

Python3爬蟲 自動查詢天氣並實現語音播報

要獲取本機ip,這裡有乙個很簡單的辦法,就是開啟這個網頁 開啟之後就能看到我們的ip位址和所在地理位置資訊了。因為我們可以請求一下這個網頁,然後對返回的結果進行一下解析,就能得到我們想要的結果了。如下 1 2 version python3.5 3author onion 4site 5time 2...

python3爬蟲之開篇

寫在前面的話 折騰爬蟲也有一段時間了,從一開始的懵懵懂懂,到現在的有一定基礎,對於這一路的跌跌撞撞,個人覺得應該留下一些文本性的東西,畢竟好記性不如爛筆頭,而且畢竟這是吃飯的傢伙,必須用心對待才可以,從今天起,我將會把關於爬蟲的東西進行乙個整理,以供後期的查閱,同時也想將自己的一點點經驗分享給大家。...