返回顶部
首页 > 资讯 > 后端开发 > Python >怎么用Python来朗读网页
  • 272
分享到

怎么用Python来朗读网页

2023-06-02 11:06:19 272人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章给大家分享的是有关怎么用python来朗读网页的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 网页正文识别之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试

这篇文章给大家分享的是有关怎么用python来朗读网页的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1 网页正文识别

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

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

readability 使用起来也很方便:

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,我们这里就不再延伸,有兴趣的可以自行尝试。

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)

接口参数:

参数类型描述必传
texString合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节
langString语言选择,填写zh
ctpString客户端类型选择,WEB端填写1
cuidString用户唯一标识,用来区分用户,填写机器 Mac 地址或 IMEI 码,长度为60以内
spdString语速,取值0-9,默认为5中语速
pitString音调,取值0-9,默认为5中语调
volString音量,取值0-15,默认为5中音量
perString发音人选择,0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女

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

2.2 文本切割

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

# 将文本按 500 的长度分割成多个文本
text_list = [text[i:i+500] for i in range(0, len(text), 500)]

2.3 语言文件合并

我们使用 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 安装后即可使用。

使用也很简单:

>>> 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来朗读网页”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 怎么用Python来朗读网页

本文链接: https://lsjlt.com/news/229923.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么用Python来朗读网页
    这篇文章给大家分享的是有关怎么用Python来朗读网页的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 网页正文识别之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试...
    99+
    2023-06-02
  • 怎么用Python编程语言来实现阿姆斯特朗数的检查
    这篇文章主要介绍“怎么用Python编程语言来实现阿姆斯特朗数的检查”,在日常操作中,相信很多人在怎么用Python编程语言来实现阿姆斯特朗数的检查问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Pyth...
    99+
    2023-06-15
  • 怎么使用python django做网页
    要使用Python Django来创建网页,您需要遵循以下步骤:1. 安装Python和Django:首先,您需要安装Python和...
    99+
    2023-09-04
    python django
  • 怎么使用PHP header()方法来调整网页
    本篇内容主要讲解“怎么使用PHP header()方法来调整网页”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用PHP header()方法来调整网页”吧!首先,让我们了解一下header...
    99+
    2023-07-05
  • SQLite5中怎么使用Python来读写数据库
    本篇内容介绍了“SQLite5中怎么使用Python来读写数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SQLite支持多种编程语言的...
    99+
    2023-06-22
  • Android中怎么实现文本内容自动朗读功能
    Android中怎么实现文本内容自动朗读功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Android提供了自动朗读支持。自动朗读支持可以对指定文本内容进行朗读,从而发生声音...
    99+
    2023-05-30
    android
  • html网页版权符号怎么打出来
    HTML中的版权符号可以使用实体名称或实体编号来表示:1. 实体名称:© 或 ©2. 实体编号:©在H...
    99+
    2023-06-12
    网页版权符号
  • 使用python怎么自动刷新网页
    这期内容当中小编将会给大家带来有关使用python怎么自动刷新网页,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络...
    99+
    2023-06-14
  • 怎么使用python爬取网页图片
    本篇内容介绍了“怎么使用python爬取网页图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在现在这个信息爆炸的时代,要想高效的获取数据,...
    99+
    2023-07-02
  • 使用Python怎么实现一个阿姆斯特朗数算法
    这篇文章将为大家详细讲解有关使用Python怎么实现一个阿姆斯特朗数算法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、什么是阿姆斯特朗数?如果一个正整数等于其各个数字的立方和,则称该数为...
    99+
    2023-06-08
  • 轻量应用服务器上传网页怎么弄出来
    Hexo是一个高效、轻量的Python库,可用于处理PHP和Node.js等脚本语言,以及轻量级的数据库和API。它具有以下特点: 轻量级:Hexo可以在较小的内存中运行,并且在处理大量请求时不会降低性能。 高效:Hexo的核心是基于并...
    99+
    2023-10-28
    怎么弄 上传 服务器
  • 如何使用PHP来修改网页
    这篇文章主要介绍了如何使用PHP来修改网页的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用PHP来修改网页文章都会有所收获,下面我们一起来看看吧。基本语法PHP可以与HTML混合使用,其语法与HTML类似...
    99+
    2023-07-05
  • Python怎么使用BeautifulSoup4修改网页内容
    这篇文章主要介绍了Python怎么使用BeautifulSoup4修改网页内容的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么使用BeautifulSoup4修改网页内容文章都会有所收获,下面我们...
    99+
    2023-06-30
  • 怎么用python爬虫抓取网页文本
    使用Python爬虫抓取网页文本可以使用第三方库requests和beautifulsoup。首先,安装requests和beaut...
    99+
    2023-10-18
    python
  • python怎么爬取豆瓣网页
    这篇文章主要介绍了python怎么爬取豆瓣网页,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python 语法简要介绍python 的基础语法大体与c语言相差不大,由于省去了...
    99+
    2023-06-14
  • Python怎么爬虫网页数据
    在Python中,可以使用多种库和框架来实现网页数据的爬取,其中最常用的是requests和BeautifulSoup库。以下是一个...
    99+
    2023-09-04
    python
  • python怎么获取网页图片
    可以使用Python的requests库来获取网页图片。具体步骤如下:1. 导入requests库:`import requests...
    99+
    2023-08-17
    python
  • python怎么判断网页弹窗
    在Python中,可以使用第三方库`Selenium`来模拟浏览器操作,并判断网页弹窗。下面是一个简单的示例代码:```pythonfrom selenium import webdriver# 创建一个浏览器驱动实例driver = ...
    99+
    2023-08-11
    python
  • SQLite5-使用Python来读写数据库
    目录1 Python读写SQLite基本流程2 编程实现2.1 基本流程2.2 数据插入2.2.1 插入单条数据2.2.2 插入多条数据2.2.3 保存数据3 测试3.1 运行pyt...
    99+
    2024-04-02
  • 轻量应用服务器上传网页怎么弄出来的
    安装 Lighthouse Application Server 首先,我们需要下载 Lighthouse Application Server 的最新版本,可以从官方网站或其他渠道获取。在下载安装时,需要选择合适的操作系统版本和所需...
    99+
    2023-10-28
    怎么弄 上传 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作