Python实现网页正文转换语音文件

百度语音合成REST API POST JAVA 保存MP3 格式文件 本资源包含网页和JAVA代码,分别演示基于百度语音合成REST API对接的POST方式提交接口数据,及其返回格式。网页格式直接返回语音,JAVA程序将POST调用返回的二进制数据流以字节流的方式存储在本地.mp3文件中。鉴于百度语音合成REST API的文档比较模糊,并没提供范例,故提供此下载。程序经测试可运行,只是需要你创建百度合成语音应用,将相关的密钥、KEY之类的参数值替换成你自己的才能正常运行;分享的是知识,有些东西不能分享,比如账号,这个你懂的!!!看得懂百度语音合成REST API的帮助文档的是大神;看不懂这份资源文档的是大仙! 立即下载

天气真的是越来越冷啦,有时候我们想翻看网页新闻,但是又冷的不想把手拿出来,移动鼠标翻看。这时候,是不是特别想电脑像讲故事一样,给我们念出来呢?人生苦短,我有python啊,试试用 Python 来朗读给你听吧。

网页转换成语音,步骤无外乎:

网页正文识别,获取到正文的文本内容;

文本转语音,通过接口将文本转换成语音文件;

语音文件的发声,即将语音文件读出;

361.jpg

1 网页正文识别

之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里用

readability、goose3

1.1 readability

readability 支持 Python3,使用 pip install readability-lxml 安装即可。

readability 使用起来也很方便:

在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
import requests
from readability import Document


response = requests.get('http://news.china.com/socialgd/10000169/20180616/32537640_all.html')

doc = Document(response.text)

print(doc.title())

但是 readability 提取到的正文内容不是文本,里面仍包含 HTML 标签。

当然也可以结合其他组件再对 HTML 进行处理,如 html2text,我们这里就不再延伸,有兴趣的可以自行尝试。

1.2 goose3

Goose 本来是一个用 Java 编写的文章提取器,后来就有了 Python 实现版: goose3 。

使用起来也很方便,同时对中文支持也不错。使用 pip install goose3 即可安装。

>>> from goose3 import Goose

>>> from goose3.text import StopWordsChinese

>>> url = 'http://news.china.com/socialgd/10000169/20180616/32537640_all.html'

>>> g = Goose({'stopwords_class': StopWordsChinese})

>>> article = g.extract(url=url)

>>> print(article.cleaned_text[:150])

北京时间6月15日23:00(圣彼得堡当地时间18:00),2018年世界杯B组一场比赛在圣彼得堡球场展开角逐,伊朗1比0险胜摩洛哥,伊朗前锋阿兹蒙半场结束前错过单刀机会,鲍哈杜兹第95分钟自摆乌

龙。这是伊朗20年来首度在世界杯决赛圈取胜。


本届世界杯,既相继出现替补便进球,贴补梅开二度以及东道主

可以看出网页正文提取效果还不错,基本满足我们的要求,可以使用!

注意:goose 还有另外一个 Python2 的版本:Python-Goose,使用方法和 goose3 基本一样。

2 文本转语音

文本转语音,百度、阿里、腾讯、讯飞等都有提供 REST API 接口,阿里和腾讯的申请相对时间较长,阿里的貌似还要收费,百度和讯飞的在线申请后即可使用。

没办法,好的东西得来总是要曲折一些。其中百度的没有调用量的限制(其实默认是 200000 次/天),讯飞有每天 500 次的限制。

这里我们使用百度的 REST API 接口中的语言合成接口,一方面原因是百度的调用次数没有限制,另一方面,我大致看了下讯飞的接口文档,接口限制还是比较多的。还有就是百度提供了 REST API 的 Python 封装,使用也更方便。

2.1 baidu-aip 的使用

百度提供了 Python SDK,使用 pip install baidu-aip 可以直接安装。接口的使用可以参考接口文档:http://ai.baidu.com/docs#/TTS-Online-Python-SDK/top。

使用示例如下:

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', 3, {
'vol': 5,

})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
with open('auido.mp3', 'wb') as f:

f.write(result)

接口参数:

image.png

接口对单次传入的文本进行了限制,合成文本长度必须小于 1024 字节,如果文本长度过长,就需要进行切割处理,采用多次请求的方式,分别转换成语音文件,最后再将多个语音文件合并成一个。

2.2 文本切割

可以使用如下代码将文本分割成多个长度为 500 的文本列表

# 将文本按 500 的长度分割成多个文本

text_list = [text[i:i+500] for i in range(0, len(text), 500)]

我们使用 pydub 来处理生成的音频文件。使用 pip install pydub 即可安装。

另外还 Ubuntu 环境需要安装依赖的,使用 sudo apt-get install libav-tools 安装即可,而在 Windows 环境需要到 https://ffmpeg.zeranoe.com/builds/ 下载 FFmpeg,并将其配置到环境变量中。

若还有问题,可以参考官网配置:https://github.com/jiaaro/pydub。

# 合并音频文件
def merge_voice(file_list):

voice_dict = {}

song = None
for i,f in enumerate(file_list):
if i == 0:

song = AudioSegment.from_file(f,"mp3")
else:
# 拼接音频文件

song += AudioSegment.from_file(f,"mp3")
# 删除临时音频

os.unlink(f)

# 导出合并后的音频文件,格式为MP3格式

file_name = str(uuid.uuid1()) + ".mp3"

song.export(file_name, format="mp3")
return file_name

通过百度的接口,我们可以将文字转化成音频文件,下面的问题就是如何播放音频文件。

3 音频文件播放

网上获取到 Python 播放 wav 文件的方式由好几种,包括 pyaudio、pygame、winsound、playsound。不过测试下来,只有 playsound 成功。其他方式有兴趣的可以试下,有问题可以留言交流。

使用 pip install playsound 安装后即可使用。

使用也很简单

在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
>>> from playsound import playsound

>>> playsound('/path/to/a/sound/file/you/want/to/play.mp3')

说明:音频的播放需要在图形化页面下运行,因为命令行模式下,没有播放声音的出口。

python page2voice.py -u "https://so.gushiwen.org/shiwenv_c244fc77f6fb.aspx"

运行后,代码就会自动解析网页并进行朗读啦。

如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的。交流经验。从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

至此,网页到音频的转换就结束了,当然程序没有这么完美,比如中英文混合的网页解析和转换的结果就不怎么理想,但是纯中文的新闻页面效果还是不错的。

Ubuntu AX200 iwlwifi-cc-46.3cfab8da.0.tgz无法下载的解决办法 AX200 iwlwifi-cc-46.3cfab8da.0.tgz 无法下载网页出问题使用 其他方法来进行但是前提还是有网络。 阅读详情

相关推荐

【180609】剑侠情缘_整套源码+地图编辑器(单机学习例子)

剑侠情缘_整套源码+地图编辑编(单机学习例子)完整源码下载地址:点击下载备用下载地址:点击下载

资源小站 6278

【百度语音rest API】文本转换成语音,以及语音转化成文本

通过rest API,调用百度语音接口,将其接入智能客服。 百度语音:http://ai.baidu.com/docs/#/ASR-API/top #!/usr/bin/python3 import urllib.request import urllib import json import base64 class BaiduRest: def __init__(self

macb007的博客 5267

手把手教你用思岚RPLIDAR C1激光雷达实现简单环境扫描(树莓派4B+Ubuntu22.04)

本文详细介绍了如何在树莓派4B(Ubuntu 22.04系统)上驱动思岚RPLIDAR C1激光雷达,从硬件连接、权限配置、SDK编译到运行示例程序,最终实现环境扫描数据的可视化。通过手把手教程,帮助开发者和爱好者快速上手激光雷达应用,构建简单的环境扫描图。

j2k3l4的博客 1132

Python网页正文转换语音文件的操作方法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33862188的博客 246

静止无功补偿SVG的基本控制原理

上图是自励单变量控制框图,基本控制方式为,采集计算得到负载无功电流和SVG输出的无功电流的差值,经过PI调节作为功率角δ和固定的调制深度λ和调制波,经过PWM调制形成开关信号驱动SVG的功率电路。该控制方式使保持调制深度λ(即SVG电压的幅度)不变,通过调整δ来调整直流电压和无功,跟踪输出无功功率,直流电压就会大幅度随动,无功相应速度较慢。SVG通常有他励方式和自励方式,他励方式需要提供外部的直流电源,自励方式通过电网输出有功功率至SVG建立SVG的直流电压。δ为Us和Uc之间的相角差。

weixin_42668920的博客 1989

深信服AC1000-B1200到手第一步:从开箱到激活上网的保姆级图文指南

本文提供深信服AC1000-B1200企业级行为管理设备的详细开局使用指南,涵盖从开箱验机、物理连接到网络配置、安全加固及设备激活的全流程。通过图文并茂的步骤解析,帮助用户快速完成设备初始化并实现安全上网,特别适合初次接触该设备的网络管理员参考。

weixin_42546392的博客 548

请写一个能在页面播放语音的HTML文件

这是一个简单的例子,可以在页面上播放语音: <!DOCTYPE html> <html> <body> <audio controls> <source src="your_audio_file.mp3" type="audio/mpeg"> Your browser does not support the audio ele...

weixin_42593549的博客 170

华为Atlas 300I推理卡驱动安装避坑指南:不同安装方式的选择与优化

本文详细解析华为Atlas 300I推理卡驱动安装的三种主流方式(.run、.rpm和源码编译),提供关键环境检查步骤、安装流程优化建议及常见问题解决方案,帮助开发者高效完成芯片推理卡部署并规避典型安装陷阱。

q9w8e7r6t5的博客 431

百度语音合成简单案例(将文字转化为相应的语音)

参考链接:http://ai.baidu.com/docs#/TTS-API/top 1.项目的目录结构 2.效果图 3核心代码 TtsMain.java package com.baidu.speech.restapi.ttsdemo; import com.baidu.speech.restapi.common.DemoException; import...

weixin_34220963的博客 721

网口通信实战(C#完整版):基于TCP协议的工业仪表数据采集系统开发

工业现场中80%的智能仪表(压力/温度/液位/流量/数显仪表)、采集模块、测控终端均支持TCP网口通信,这类设备的TCP通信有鲜明的工业特性:基于字节流的自定义二进制协议、一问一答的主从通信模式、对数据完整性/稳定性要求极高。本次实战是纯工业级落地项目,基于C# WinForm + .NET Framework 4.8(工业上位机标配)✅纯原生无依赖:零第三方类库/控件,仅用C#原生,源码可100%复用、无引用冲突、工控机完美兼容;✅双采集模式完美适配:同时实现「单次手动采集」+「连续自动采集」

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1802

OpenClaw进阶实战(二十五):抖音企业号——私信回复与视频评论分析

摘要:本文介绍抖音企业号自动化运营方案,突破抖音强风控体系的技术挑战。针对内容生产、私信互动和账号矩阵三大场景,提出混合架构解决方案: 私信自动化:结合关键词触发与随机延迟(45秒±15),实现拟人化回复,支持价格咨询/商务合作等高优先级消息识别 混合技术栈:官方API(合规)+真机RPA(覆盖长尾需求)+AI辅助生成(脚本→剪辑→发布闭环) 安全策略:通过设备指纹模拟、行为间隔随机化和内容差异化处理规避风控,提供每日200条的安全操作阈值。配套OpenClaw技能实现一键部署,包含cookie配置、回复规

PeterPan的博客 144

python朗读网页-早上起床后不想动,让 Python 来帮你朗读网页吧

是不是有的时候懒得自己看新闻?那么不妨试试用 Python 来朗读给你听吧。网页转换成语音,步骤无外乎:网页正文识别,获取到正文的文本内容;文本转语音,通过接口将文本转换成语音文件;语音文件的发声,即将语音文件读出;1 网页正文识别之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了 readability、goose3。1.1 readability...

weixin_37988176的博客 208

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

用Python实现网页自动化朗读

我不想浏览网页,那么我就用Python实现网页自动化朗读! - 简书 https://www.jianshu.com/p/9e8f63a402d3

446

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

html嵌入python语音的方法_Python网页正文转换语音文件的操作方法

天气真的是越来越冷啦,有时候我们想翻看网页新闻,但是又冷的不想把手拿出来,移动鼠标翻看。这时候,是不是特别想电脑像讲故事一样,给我们念出来呢?人生苦短,我有python啊,试试用 Python 来朗读给你听吧。网页转换成语音,步骤无外乎:网页正文识别,获取到正文的文本内容;文本转语音,通过接口将文本转换成语音文件;语音文件的发声,即将语音文件读出;1 网页正文识别之所以用 Python,就是因为 ...

weixin_39531378的博客 268

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Python实力操作-网页正文转换语音文件

天气真的是越来越变态啦,有时候我们想翻看网页新闻,但是又冷的不想把手拿出来,移动鼠标翻看。这时候,是不是特别想电脑像讲故事一样,给我们念出来呢?人生苦短,我有python啊,试试用 Python 来朗读给你听吧。 网页转换成语音,步骤无外乎: 网页正文识别,获取到正文的文本内容; 文本转语音,通过接口将文本转换成语音文件; 语音文件的发声,即将语音文件读出; 361.jpg 1 网页正文识别 之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。最后,如果你的时间不是很紧张

每日分享程序员技巧 282

python 文字语音朗读-怎么用 Python 来朗读网页 ?

是不是有的时候懒得自己看新闻?那么不妨试试用 Python 来朗读给你听吧。网页转换成语音,步骤无外乎:网页正文识别,获取到正文的文本内容;文本转语音,通过接口将文本转换成语音文件;语音文件的发声,即将语音文件读出;1 网页正文识别之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了 readability、goose3。1.1 readability...

weixin_37988176的博客 1405

python网页版本_python 网页版

python 网页版

weixin_39880318的博客 8527

python 文字语音朗读-教你用 Python 来朗读网页

是不是有的时候懒得自己看新闻?那么不妨试试用 Python 来朗读给你听吧。网页转换成语音,步骤无外乎:网页正文识别,获取到正文的文本内容;文本转语音,通过接口将文本转换成语音文件;语音文件的发声,即将语音文件读出;1 网页正文识别之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了readability、goose3。1.1 readabilityr...

weixin_37988176的博客 1158

Python实现网页自动化朗读

是不是有的时候懒得自己看新闻?那么不妨试试用 Python 来朗读给你听吧。 网页转换成语音,步骤无外乎: 网页正文识别,获取到正文的文本内容; 文本转语音,通过接口将文本转换成语音文件; 语音文件的发声,即将语音文件读出; 01:网页正文识别 之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了 readability、goose3。 1.1 rea...

weixin_42942846的博客 794

网页版python叫什么-我不想浏览网页,那么我就用Python实现网页自动化朗读!

是不是有的时候懒得自己看新闻?那么不妨试试用 Python 来朗读给你听吧。网页转换成语音,步骤无外乎:网页正文识别,获取到正文的文本内容;文本转语音,通过接口将文本转换成语音文件;语音文件的发声,即将语音文件读出;01:网页正文识别之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了 readability、goose3。1.1 readabilit...

weixin_37988176的博客 260

python发声-python 发声

广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。来源:oschina整理:你未读 一周前,当 996.icu 的 github repo 火速在互联网广泛传播时,python 之父 guido van rossum 就在其推特转发了南华早报关于中国程序员 996工作制的新闻报导,认为 996 工作制是不人道的,并且 sta...

weixin_37988176的博客 1776

Python 实现网页自动化朗读

网页转换成语音,步骤无外乎: 网页正文识别,获取到正文的文本内容; 文本转语音,通过接口将文本转换成语音文件; 语音文件的发声,即将语音文件读出;   网页正文识别   之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了 readability、goose3。 1.1 readability readabi...

成字第0431879 1325

python 文件批量转换格式_使用python批量化音乐文件格式转换的实例

使用python批量化音乐文件格式转换的实例最近在做声音文件数据处理,写了一个自动将m4a文件转化为wav的脚本。import osm4a_path = "/Users/Downloads/start1/"m4a_file = os.listdir(m4a_path)for i, m4a in enumerate(m4a_file):os.system("ffmpeg -i "+ m4a_path...

weixin_39568172的博客 544

如何使用 Python 实现网页自动化朗读?

作者 | hoxis责编 | 郭芮是不是有的时候懒得自己看新闻?那么不妨试试用 Python 来朗读给你听吧。网页转换成语音,步骤无外乎:网页正文识别,获取到正文的文本内...

优快云资讯 2505
上一篇: 用Python运行这11行代码,竟然发现了室友U盘里藏着这些...
下一篇: Python程序员都在用的20个网页爬虫工具
Python老王
博客等级 码龄7年 159粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值