Python—实现语音自动播报最新疫情信息
自己做了一个功能,自动去卫健委网站获取最新疫情信息,并通过语音播报,很有意思。
需要两个文件 一个是city.cfg,一个是test.py,注意要先安装pip install pyttsx3,看看能否
import pyttsx3 如果报错
那么去python 的安装目录 比如 cd python/Lib/site-packages/win32ctypes 然后试着
import pywin32_system32 或者
import win32ctypes
一般都能成,除非你的电脑没有文字转语音功能。
city.cfg
[厦门]
url=https://hfpc.xm.gov.cn/
title=新型冠状病毒肺炎疫情情况[上海]
url=https://wsjkw.sh.gov.cn/
title=新冠肺炎[河南]
url=http://wsjkw.henan.gov.cn/
title=最新通报[湖南]
url=http://wjw.hunan.gov.cn/
title=新型冠状病毒肺炎疫情[广东]
url=http://wsjkw.gd.gov.cn/
title=新冠肺炎疫情情况[深圳]
url=http://wjw.sz.gov.cn/
title=新冠肺炎疫情情况
test.py
#cd python/Lib/site-packages/win32ctypes
import pywin32_system32
import pyttsx3
from lxml import etree
import requests,os
import datetime
from configparser import ConfigParsertimestamp=datetime.datetime.now()-datetime.timedelta(days=1)
day=timestamp.day
month=timestamp.month
datestr="{}月{}日".format(month,day) #昨日日期
#发音函数
def sound(msg):engine = pyttsx3.init()engine.setProperty('rate', 220)engine.say(msg)engine.runAndWait()cfg=ConfigParser()
cfg.read('city.cfg',encoding='utf-8')
citylist=cfg.sections()
header = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
}
excludelist=['厦门','上海']
for city in citylist: #遍历城市if(city in excludelist): #豁免的城市continueprint("------------------------------",city,"-------------------------\n")url=cfg[city]["url"]res=requests.get(url,headers=header) #请求卫健委主页res.encoding='utf-8'if(res.status_code!=200):sound("请求卫健委主页失败"+str(res.status_code))srclist=etree.HTML(res.text).xpath('//a')title=cfg[city]["title"] #不同城市的标题不同hreflist=[i.attrib['href'] for i in srclist if 'title' in i.attrib and title in i.attrib['title']]if not hreflist: #如果取不到标题hreflist=[i.attrib['href'] for i in srclist if i.text and '最新通报' in i.text]if not hreflist:print(city,'实在找不到最新疫情的标题了')breakhref=hreflist[0] if('http' in href):uri=hrefelse:uri=url+href result=requests.get(uri,headers=header) #请求疫情详情页result.encoding='utf-8'contents=etree.HTML(result.text).xpath("//p/text()") #paragraphsif not contents: #如果取不到内容contents=etree.HTML(result.text).xpath("//p/span/text()") #paragraphsmsg="".join(contents)if(not datestr in msg):#昨日的日期sound(city+'没有最新的疫情信息')continueelse:sound(city+"最新疫情信息:")if(not '台湾' in msg):sound(city+'没有台湾相关的信息')for content in contents:if content.strip():print(content)sound(content)
效果
Python—实现语音自动播报最新疫情信息相关推荐
- android 语音自动播报,Android 语音播报实现
文章主要讲的是以前做项目时实现的来短信或来电话时语音播报的功能实现,记录下来做个总结. 1.实现语音播报的关键 -- 语音播报工具类(TtsUtil.java) 为了方便 文章主要讲的是以前做项目时实 ...
- h5语音自动播报,能够兼容ios,安卓微信支付宝
1.语音播报使用方式如下,由于安卓ios兼容性问题封装成不同组件 <!-- 安卓版微信.安卓.ios版支付宝--><common-audio ref="audioTip&q ...
- python 天气预报制作_Python 制作语音天气预报播报程序
之前在参加Python爬虫小分队的学习时,爬取过中国天气网这个网站,可以通过爬虫获取当地的天气信息,今天和大家分享一个将爬虫得到的天气文本信息通过百度语音合成接口制作成语音文件,并进行语音播报. 百度 ...
- Python爬虫拓展应用:最新版本问卷星自动刷,包括解决智能验证、滑块等问题
Python爬虫拓展应用: 最新版本问卷星自动刷,包括:解决智能验证.滑块等问题 Python爬虫自动刷"问卷星"网站问卷 爬虫运行准备 爬虫运行代码 代码解释 参考博客 Pyth ...
- python 密度 语音_Python+sklearn机器学习应该了解的33个基本概念
封面图片:<Python程序设计实验指导书>,董付国编著,清华大学出版社 ================ 机器学习(Machine Learning)根据已知数据来不断学习和积累经验,然 ...
- python构建语音交互的智能机器人
一.写在前面: ~~~~~~~~ 经过几天的努力,基于python构建语音交互的智能机器人终于完成,今天这篇文章会完善阐述一下系统的总体架构,将前面的四篇文章串联起来,形成一个完善的系统.完整的项 ...
- python编程规范 谷歌_Python最新编程规范,新手必学
最近,团队又来了几个小伙伴,经过一段时间磨合之后,发现彼此之间还是比较默契的,但有一个很大的问题是,每个人的编程风格和习惯都不同,导致现在代码看起来非常混乱. 这里还要注意:不管你是想学Python还 ...
- object如何转换为int_如何使用Python将语音转换为文本
语音识别是计算机软件识别口语中的单词和短语,并将其转换为可读文本的能力.那么如何在 Python 中将语音转换为文本?如何使用 SpeechRecognition 库在 Python 中将语音转换为文 ...
- Python+tkinter生成自动跳转到网页的二维码
要解决的问题:运行程序,打开主界面,输入一个网址URL,然后生成二维码,使用微信扫描二维码可以自动跳转到指定的网页. Python版本:Python 3.6.8 需要用到的扩展库:pillow.qrc ...
最新文章
- python函数的用法详解(作用、定义、调用、函数参数、函数返回值、函数说明文档、函数嵌套使用)
- dotnet core 开发无缝兼容Http和Websocket协议的接口服务
- 让python脚本像普通程序一样运行
- PaperNotes(16)-图神经网络GNN简史、不动点建模-笔记
- C语言137页答案,综合化学实验答案题库(137页)-原创力文档
- anacodna/python 安装 tensorflow
- java jdbc标签jsp_JDBC结合JSP使用(1)
- 基于JAVAEE公共自行车租赁系统
- 【BZOJ1492】【NOI2007】货币兑换 Cash(CDQ分治,斜率优化)
- MyEclipse:详细使用教程
- 项目管理知识体系指南(七)项目质量管理
- Python 解析log日志
- Java实验——设计一个数组模型,用于存储体育项目成绩男生体育项目有足球、长跑和铅球,女生体育项目有跳舞、体操、游泳。设计排序算法,将变量a、b、c中的数值按大小顺利进行互换(从大到小排列)。
- python matplotlib plt bins histogram 直方图
- 从代理模式再出发!Proxy.newProxyInstance的秘密
- 数据库学习day01
- 看到记忆的印迹:神经科学家们如何定位、唤醒甚至偷换记忆
- 强制删除 bat命令
- [附源码]计算机毕业设计Python+uniapp安卓日程管理APPqksh9(程序+源码+LW+远程部署)
- [BZOJ3817] Sum
热门文章
- Windows Error Code
- 数模学习(模糊数学篇)——模糊识别(python实现)
- AcWing 第69场周赛
- mapinfo mif/mid文件格式详解
- mid代表计算机,MID是什么
- Flex系列教程——flex的下载与安装
- Oracle官网账号
- nginx正向代理访问微信接口502错误, Unable to tunnel through proxy. Proxy returns \“HTTP/1.1 502 Bad Gateway\
- jquery保留两位小数方法,字符串保留两位小数
- idea创建SSM项目(Spring+SpringMVC+MyBatis)