小说章节内容整合

查看 7|回复 0
作者:TaPai   
接上篇下载之后的小说章节内容整合
在上篇中下载了小说的具体章节内容
https://www.52pojie.cn/thread-2062255-1-1.html
但是每次下载只下载了一章的具体内容
下面使用python的文件处理功能将下载好的章节整合起来
大致流程就是:
    1、找到下载文件夹,保证里面的文件是同一本小说
    2、使用python获取文件夹里面的文件,并排序
    3、循环读取已排序的文件内容
    4、使用库将繁体字转换成简体字(因为网站为繁体网站,即使提供出来的简体方法也会出现一部分字为繁体)
    5、将处理好的内容写入到目标文件内
使用编辑器打开,可能需要下载库,
然后直接运行这个py文件就可以了
代码:
[Python] 纯文本查看 复制代码# 导入所需模块:
# os用于文件/目录操作; zhconv用于简繁转换
import os
from zhconv import convert
# 创建整合文件的方法
def file_integrate(files_list, target_file):
    try:
        # 获取文件夹中所有"文件"(排除子文件夹),生成文件列表
        file_list = [f for f in os.listdir(files_list) if os.path.isfile(os.path.join(files_list, f))]
        # 对文件列表按文件名排序(正常情况下,下载的小说都是有章节序号排序的)
        file_list.sort()
        # 以 "写入模式" 打开目标文件,指定utf-8 编码(支持中文)
        # with语句:自动管理文件关闭
        with open(target_file, 'w', encoding='utf-8') as out_f:
            # 遍历文件列表,逐个处理每个源文件
            for filename in file_list:
                # 拼接当前源文件的完整路径(输入文件夹路径 + 文件名)
                file_path = os.path.join(files_list, filename)
                try:
                    # 以"只读模式"打开当前源文件,读取内容
                    with open(file_path, 'r', encoding='utf-8') as in_f:
                        # 读取源文件全部内容(含繁体字)
                        original_content = in_f.read()
                        # 确保内容末尾有一个换行,避免文件内容粘连
                        if not original_content.endswith('\n'):
                            original_content += '\n\n\n'
                    # 将繁体字转换为简体字
                    # convert函数:第一个参数=待转换文本,第二个参数='zh-cn'表示转为简体中文
                    simplified_content = convert(original_content, 'zh-cn')
                    # 将转换后的简体字内容写入目标文件
                    out_f.write(simplified_content)
                    # 打印进度
                    print(f"已处理:{filename}(完成繁转简)")
                # 捕获异常
                except Exception as e:
                    print(f"处理文件 {filename} 时出错:{str(e)}(跳过该文件)")
        # 所有文件处理完成后,打印最终提示
        print(f"\n✅ 所有文件已完成繁转简并合并到:{target_file}")
    # 捕获"整体流程"的异常
    except Exception as e:
        print(f"❌ 程序执行出错:{str(e)}")
if __name__ == "__main__":
    filesList = "../FILELIST"                       # 你的源文件存放文件夹
    targetFile = "../处理后的小说.txt"                # 合并后的简体字文件
    # 调用函数
    file_integrate(filesList, targetFile)


11 (1).png (210.75 KB, 下载次数: 2)
下载附件
2025-9-28 16:19 上传



12 (1).png (42.18 KB, 下载次数: 2)
下载附件
2025-9-28 16:19 上传

文件, 内容

您需要登录后才可以回帖 登录 | 立即注册

返回顶部