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