python:epub文件批量转TXT

本文介绍了一个使用Python将大量EPUB文件转换为TXT格式的过程。由于没有找到合适的现成工具,作者选择编写代码来实现。该方法通过将EPUB文件转化为RAR,然后解压并遍历HTML文件,提取文本内容,最后保存为TXT文件。值得注意的是,这种方法仅处理文字内容,不支持图片转换。

写在前面

代码很菜,而且写了很久之后才写的笔记,代码里仅包含主要函数的实现。

原因

有很多很多,大概8000本epub文件需要转换成TXT。没找到现成工具偷懒,就想写一段代码代工。

缺点

只对文字有效,图片类无法转化。

原理

先转换成压缩包,解压缩得到一些包含图书内容的html文件,从html标记中获取文本并保存。
* 转换成压缩包:修改文件名后缀为’.rar’
* 解压缩:使用360批量解压。作者又懒又菜,写出解压缩代码的用的时间要远远超过使用工具的时间。
* 遍历文件,生成html文件的路径
* 解析html文件,获取文本信息
* 保存成TXT

需要的代码

  • 依赖的包
import os
from urllib.request import urlopen
from bs4 import BeautifulSoup
from nt import chdir
  • 修改文件名后缀
##将.epub修改成.rar
def epub_rar(start):
    files = os.listdir(start+'\\.')#获取当前目录下的文件
    for filename in files:
        portion = os.path.splitext(filename)#将文件名拆成名字和后缀
        if portion[1] == ".epub":
            newname = portion[0] + ".rar"
            os.rename(start+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值