文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun

对于小说,想必很多朋友都是十分的喜欢,也很热衷于阅读小说,小说阅读一时爽,一直阅读一直爽。但是小说阅读时间久了,会给我们的眼睛带来很严重的负担,造成眼部的一些不适。

为了解决这个问题,同时能够让大家体验小说的内容,小编今天带领大家爬取小说,并将小说转化成语音形式,让大家以听的形式来“阅读”小说,同时解放自己的双眼。

01.整体的思路如下

  • 首先我们输入想要阅读小说的名称和相应的章节;
  • 然后将小说的文本进行爬取并保存到本地的txt文档之中;
  • 接下来是读取小说的文本,然后转换为语音形式,并保存到本地的mp3文件中;
  • 最后点击播放该mp3文件即可

02.小说的爬取

小说的文本我们爬取的小说来自于网站笔趣阁(https://www.biquge5200.com/)。先是输入我们想要爬取的小说名称 ,程序如下图所示:

1).构造出需要爬取的小说名称的链接

由于网页会返回所有名字包含我们输入名称的小说,所以我们要进行筛选,筛选出完全符合我们输入名称的小说,然后返回该小说的地址。如果找不到该小说,则程序退出。

2).提取小说的章节

接下来是对小说相应章节的提取,get_url函数返回所有章节的地址链接信息。get_txt函数。首先输出所有章节的名称,然后大家选择自己想要阅读的章节,程序接下来便会爬取该章节的内容,并返回选择的章节名称和章节的内容。返回的小说内容会被写入到本地的特定文件夹当中,也就完成了我们流程的前半部分。部分程序如下图所示:

03.文本转化为小说

经过前面几步,我们就可以将文本小说转化为语音小说,并保存到本地的音频文件当中,本分程序如下图所示:

我们利用的是百度AI的语音合成技术,来将文本转化为音频。对于如何创建百度AI的应用,小编在最后的视频展示中进行了演示。

这里就默认我们已经构造了语音合成的实例类,并命名为self.client。需要注意的是,由于每次上传的文本最大不能超过1024个字节,所以小编在程序中对字符串进行了切分,分批上传,并将结果写入到音频文件中。

上图程序中,synthesis函数中的各个参数都是可以进行调节的,其中“vol”、“spd”、“pit”、“per”分别控制着音量、语速、语调和音色,大家可以根据自己的习惯进行调节。

至此,我们便完成了从小说对应章节的爬取到文本转换为语音的全过程

2020年最新Python教程:

如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?

说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。

以上这些教程小编已经为大家打包准备好了,希望对正在学习的你有所帮助!

获取方式,私信小编 “ 资料 ”,即可免费获取哦!

小说光看还不够?用Python做有声小说!的更多相关文章

  1. python生成有声小说模拟真人发音

    生成有声小说原理 文字是1500字内的生成微软文档说说 用代码实现小说爬取正本 实现每章小说1450字 实现自动剪切后添加封面 实现自动上传 用python代码实现爬取小说,本案列以一本小说为实列代码 ...

  2. Python模块---制作属于自己的有声小说

    操作环境 Python版本: anaconda3 python3.7.4 操作系统: Ubuntu19.10 编译器: pycharm社区版 用到的模块: pyttsx3,requests pysst ...

  3. Python实战:下载鬼灵报告有声小说

    在家无聊,想看看小说,不过看的眼睛痛,就想着下个有声小说来听听.但风上找到的都是要一集一集下,还得重命名,122集啊,点到什么时候. 写个批处理下载的脚本.记录下过程. 一.老套路了,找到下载URL. ...

  4. 用python做小说网站

    html头部 {% extends 'base.html' %} {% load static %} {% block title %}小说首页{% endblock %} {% block cont ...

  5. 12岁的少年教你用Python做小游戏

    首页 资讯 文章 频道 资源 小组 相亲 登录 注册       首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...

  6. [原创博文] 用Python做统计分析 (Scipy.stats的文档)

    [转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...

  7. 这几天有django和python做了一个多用户博客系统(可选择模板)

    这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下 断断续续2周时间吧,用django做了一个多用户博客系统,现在还没有做完,做分享下,以后等完善了再慢慢说 做的 ...

  8. 《用Python做HTTP接口测试》学习感悟

    机缘巧合之下,报名参加了阿奎老师发布在"好班长"的课程<用Python做HTTP接口测试>,报名费:15rmb,不到一杯咖啡钱,目前为止的状态:坚定不移的跟下去,自学+ ...

  9. What exactly can you do with Python? Here are Python’s 3 main applications._你能用Python做什么?下面是Python的3个主要应用程序。

    原文链接 Github地址 一.陈述 1,我到底能用Python做什么? 我观察注意到Python三个主要流行的应用: 网站开发: 数据科学——包括机器学习,数据分析和数据可视化: 做脚本语言. 二. ...

随机推荐

  1. wr720n v4 折腾笔记(二):刷入不死Uboot

    0x01 前言 接着上节刷入Openwrt开始说起,此次开始刷入不死Uboot,刷入之后就可以在Uboot里面随便刷机,再也不怕成砖了. 固件附件地址: 下载地址1(还是之前一的包) flash文件地 ...

  2. SpringMVC常见面试题总结(超详细回答)

    SpringMVC常见面试题总结(超详细回答) 1.什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的 ...

  3. BZOJ 压力 tarjan 点双联通分量+树上差分+圆方树

    题意 如今,路由器和交换机构建起了互联网的骨架.处在互联网的骨干位置的核心路由器典型的要处理100Gbit/s的网络流量. 他们每天都生活在巨大的压力之下.小强建立了一个模型.这世界上有N个网络设备, ...

  4. 在Windows中安装OpenCV-Python |四

    目标 在本教程中 我们将学习在你的Windows系统中设置OpenCV-Python. 下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7- ...

  5. SVN: Cleanup failed update报错 文件被锁定lock办法,cleanup 失效报错。

    按照如下办法即可解决: 下载文件链接: https://pan.baidu.com/s/1Ump1BFihbX8izyAA4by5dA 提取码: ftsd 复制这段内容后打开百度网盘手机App,操作更 ...

  6. 数据库(sqlserver 2005)优化排查之路

    查找问题过程是痛苦的,解决完问题是快乐! 兄弟帮助一个公司开发了一个旅游网站(asp.net+sqlsever2005),一直还算稳定,但是最近网站却慢的可以,让人头疼.登录服务器,进入任务管理器,发 ...

  7. 【Springboot】实例讲解Springboot整合OpenTracing分布式链路追踪系统(Jaeger和Zipkin)

    1 分布式追踪系统 随着大量公司把单体应用重构为微服务,对于运维人员的责任就更加重大了.架构更复杂.应用更多,要从中快速诊断出问题.找到性能瓶颈,并不是一件容易的事.因此,也随着诞生了一系列面向Dev ...

  8. 【JavaScript】要点知识的个人总结(1)

    米娜桑,哦哈哟~ 该篇章主要基于链接中的参考内容和代码测试得出的结论,面向具有一定基础的前端开发者.如有错误,请指出与包涵. 原型链的解释 https://juejin.im/post/5aa78fe ...

  9. dp例题02. 滑雪问题 (poj1088)

    poj1088滑雪问题 题目链接:http://poj.org/status Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得 ...

  10. [一、Jmeter5安装及环境配置]

    前言:Jmeter基于Jave底层开发,需要配置Java运行时环境 第一步:首先从Jmeter的官网下载Jmeter,Oracle官网下载Jave; Apache JMeter 5.2.1(需要Jav ...