前言
现在的有很多电子书都不能下载了,只能在线看,但是广告又多.所以想编个程序抓取这些内容生成电子书.
EPUB的介绍
关于EPUB的介绍已经有很多了.简单的说就是把书的各个章节和生成的一些记录目录信息放在一起后打成zip压缩包,然后再改名为epub结尾.虽然已经有个epublib的库,但是我还是想自己做一个程序,这样想随意增加功能.
思路
1.找一本epub文件,另存为zip文件后解压.
2.根据epub里面的文件结构创建文件夹,用到mkdir命令
3.打开epub里面的所有文件,看看里面写了什么.把需要更改的内容用字符串的format功能写入.
4.编写爬虫代码从网页上抓取内容后生成epub所需要的所有文件
5.重新用zipfile把文件进行压缩成epub.
代码示例
[目录创建代码]
// An highlighted block
def Savefolder_creation(Savefolder):
if not os.path.exists(Savefolder):#判断目录是否存在
os.makedirs(Savefolder)#如果不存在则创建目录
global Temp_folder
Temp_folder=Savefolder+r'\temp'
global OEBPS_folder
OEBPS_folder=Temp_folder+r'\OEBPS'
if not os.path.exists(OEBPS_folder):
os.makedirs(OEBPS_folder)#创建OEBPS目录
global META_folder
META_folder=Temp_folder+r'\META-INF'
if not os.path.exists(META_folder):
os.makedirs(META_folder)#创建META-INF目录
Savefolder_creation(Savefolder)
[章节内容代码chapter.html]*
// An highlighted block
#下面函数为把正文内容保存为一个chapter*.html的文件.
def contents_html(OEBPS_folder,chapter_title,book_contents