爬虫# 系列##关于多线程爬取小说排序混乱的问题文章目录
前言
在多线程爬取小说的时候如果整体放入一个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秒的延时 让系统去处理
我们去看一下成品
桌面上多了一个文件 同时 爬取下来的单独文件章节 已经删除
检查一下 发现顺序完全正确
总结
我们入门阶段 可能没办法理解那些太复杂的排序 不过我们可以先尝试使用以下其他方法去先实现我们的目的 再去慢慢去学习 优化
好了 文章就结束了 谢谢大家的阅读 有什么问题可以留言或者私信我