跳至正文

来香一个,用Python做有声小说!

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

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

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”分别控制着音量、语速、语调和音色,大家可以根据自己的习惯进行调节。

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

    视频秀一个

     

    这样,大家就可以听着萝莉为大家读小说,同时解放自己的双眼了,大家也动手体验起来吧。