关于多线程爬取小说排序混乱的问题

本文介绍了如何使用多线程爬取小说时避免章节顺序混乱,通过下载独立txt文件并格式化章节名称,让Windows自动排序。章节提取和写入时注重清理非数字内容,统一字数格式,最终通过os.popen合并文件并删除多余章节。
摘要由CSDN通过智能技术生成

爬虫# 系列##关于多线程爬取小说排序混乱的问题文章目录

前言

在多线程爬取小说的时候如果整体放入一个txt文件的话 章节顺序 会混乱 导致无法正常阅读
同时翻阅其他人写的程序之后 发现都太复杂了 所以我给大家带来了一个更加简单的方法

一、下载章节单独一个txt文件

这样做的好处就是win10系统会自动对章节进行排序看起来也更加整齐
在这里插入图片描述就像这样 系统会自动排序 后面说一下如何格式化章节名字 让系统理解我们想要的排序

二、小说章节名字格式化

1.提取小说章节时的格式化

在这里插入图片描述在我们提取章节名字之后 可以直接用re 库 去提取章节里面的数字 即章节的序号 同时 章节会有一些作者的个人感言 或者感谢 这些通常是不带有数字的
这样做还可以顺便过滤掉这些章节 一举两得

2.章节写入时的格式化 即 字数统一

在上一步之后 如果不进行任何处理 会发现 章节 是 1 2 3 4 5 .。。 。。。10.。。100.。
在进行合并的时候 会发现10 会合并到1的前面 那么如何处理呢
那就是 格式化章节的字数 即 1格式化为 001, 002, 003 .。。等
代码如下 直接 if判断就好了

如果这个具体添加到几千个章节 或者说 前面添加几个0 要看具体小说会有多少章节 一般的话 1000+章节 就可以了
这样下来 会发现我们爬取的小说章节名字已经全部格式化了
在这里插入图片描述很整齐 下面就进行最简单的一步了 合并 先上代码
在这里插入图片描述这里有两个time延时 经过我的测试 可能是系统需要时间进行处理 1000+章节2秒的延时完全可以处理完
我们使用os.popen 即系统的cmd命令进行*.txt格式文件的合并

type *.txt 表示当前文件夹下面的所有txt文件

C:\Users\wjyalmj\Desktop\p.txt’
这个代表了你要合并的文件保存的路径 我保存到了桌面 你们可以自行选择路径 最后的p.txt 是你要保存的文件名 我就随便写了一个
同时我们会发现 文件里面 还有将近上千个单独的章节文件
可以使用
os.popen(‘del *.txt’) 命令
因为我们已经把成品 即合并后的文件保存到了桌面 所以 如果你不再需要这些单独的章节的话 可以使用这个命令删除掉 同时 也需要2秒的延时 让系统去处理

我们去看一下成品
在这里插入图片描述
桌面上多了一个文件 同时 爬取下来的单独文件章节 已经删除
在这里插入图片描述
检查一下 发现顺序完全正确

总结

我们入门阶段 可能没办法理解那些太复杂的排序 不过我们可以先尝试使用以下其他方法去先实现我们的目的 再去慢慢去学习 优化

好了 文章就结束了 谢谢大家的阅读 有什么问题可以留言或者私信我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值