记一次电子书的制作(从爬取网上资源开始)
本文于 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的本地转化器,他们家的产品做的还挺用心的、功能也不错。
另一种选择是使用参考资料1里面的在线转化器,没有使用过,不作评价。
参考资料:
赏
支付宝打赏
微信打赏
赞赏是不耍流氓的鼓励