获取网页内容,调用语音控件

10 篇文章 0 订阅

安装pip,这是一个包含很多python插件的库

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
sudo python get-pip.py

安装python插件

安装pyttsx

sudo pip install pyttsx

安装requests

sudo pip install requests

File: voice.py


#coding:utf-8  #支持汉字,coding声明语句必须放在文件首

#引用文件
import sys
import pyttsx
import time
import threading
import v0  #引用a.py,不能是数字名的文件,会直接加载py文件里的内容,如果有print,会直接执行
#支持汉语
reload(sys)
sys.setdefaultencoding('utf8')

air=v0.getA();#会执行函数里的print
#print(air)

s=15#延迟秒数
print 'start'

#延迟函数
def timer(x):
        t=0
        while t<s:
                time.sleep(x)
                t=t+1
                print t
        print 'end'


#语音函数
def action(str,ra):
        engine = pyttsx.init()
        rate = engine.getProperty('rate')
        engine.setProperty('rate', rate-ra)
        engine.say(str)
        engine.runAndWait()
        print str
def Tr():
#多线程
        t=threading.Thread(target=action,args=('现在'+air+'---------我爱你,柏霖',10))  #传递参数
        t1=threading.Thread(target=timer,args=(1,))
        t.setDaemon(True)#在后台执行
        #t1.setDaemon(True)  #延迟函数必须在前端调用,持续占用内存,否则该程序会被释放
        t.start()
        t1.start()

File: v0.py


#coding:utf-8
import requests
import re
def getA():
#参数
        post_param = {}
#用get方式传送dt给url,取消ssl验证
        return_data = requests.get("http://www.air-level.com/air/yichang/",data =post_param, verify = False)
#获取网页返回的源码
        text=return_data.text
#正则截取指定内容
        result0 = re.findall('.*<h2>(.*)</h2>.*',text)
        result1 = re.findall('.*<span class="aqi-bg aqi-level-5">(.*)</span>.*',text)
#打印
        #print result0[0]
        #for x in result1:
        #    print x
        return result0[0]+result1[0]
#getA()


单片机上面可能缺少”text to speak”软件,需要安装espeak

aptitude是一个软件库,可以在线安装很多东西,而且可以在控制台实现窗口化,可以玩扫雷

sudo aptitude install espeak libespeak-dev gespeaker -y

播放语音

espeak -vzh “你好”

更新库

sudo aptitude  full-upgrade
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值