logo头像

猪老大要进步!

记一次电子书的制作(从爬取网上资源开始)

本文于 1196 天之前发表,文中内容可能已经过时。

想到好久没有看小说了,去各大网站看看之后发现了一些爽文,可是他们都没有提供一键下载的服务。由此就产生了这一篇记录,涉及python爬虫知识、文件格式转化问题,参考了各大论坛的操作,最后以epub的格式呈现。

主要分为两个步骤,一是用爬虫将网页上的小说内容爬取下来;二是将txt文件转化为我们要的epub格式文件,适合电纸书阅读。

一、爬取小说

设计思路:

1、封装好,用户输入小说的目录页url地址

2、得到小说所有章节的对应url,组成一个list

3、在url list里面循环,一章一章爬取小说的标题和正文并存储到指定目录

实现过程:

这里我们使用python和它的一些库,包括bs4,requests,retrying。

  • 在爬取的过程中,可能会因为访问过频繁或者网络原因而被拒绝访问。因此我们需要一个重试函数,能够在报错的情况下反复尝试。我们使用retrying和requests库来实现
  • 得到目录页上陈列的各章节链接。这部分每个网站可能不一样,需要根据自己的情况修改
  • 得到每一个章节url对应的标题和内容
  • 我们发现正文中有很多无关内容以及不正常的字符、缩进等,因此我们需要额外写一个文字过滤器,此过滤器在上面get_text()函数中已经调用了。
  • 开始读取内容并存储

爬虫源代码

二、txt文件转化为epub文件

我习惯于EPUB格式的电子书,如果你熟悉使用mobi格式的电子书,可以参考书伴网的EasyPub教程来转化,可以配置封面什么的。

这里我使用NeatReader的本地转化器,他们家的产品做的还挺用心的、功能也不错。

NeatReader Converter

另一种选择是使用参考资料1里面的在线转化器,没有使用过,不作评价。

参考资料:

1、TXT转EPUB工具

支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励