基础的不说了,在爬取小说的时候,通过pipeline管道写入txt文件时,发现小说乱序,通过百度谷歌和求助猿友、大神,初步思路是
目前所做工作:在拿到章节链接进行下一步时,用queue队列,但是测试最后小说还是乱序,第一章接第三十章

百度到一个node.js的JavaScript爬虫爬取小说脚本写到小说乱序,然后有两个策略

[[原文链接]][2]

策略1:发送1个请求,若请求成功,则发送下一个。直到所有请求完毕。中间某个请求返回失败,则重试若干次,总是失败,则跳过

策略2: 控制最多同时发送若干请求,没发的请求在等待队列中等待。发送请求成功,则执行等待队列中的一个请求,若失败,则将该请求放入失败队列。最后等待队列为空并且之前发的请求都完成时,去检查失败队列,若失败队列不为空,则对失败队列按照策略1来处理

按照策略1执行,遇到请求失败的章节,则会丢失,在写入时候(不做其他处理)还是会乱序;策略2则请求成功也不能保证顺序一定正确
请教大神,对所有章节进行顺序编号,然后进行排序后按照编号执行写入。觉得这个思路可取,引申出汉字章节转换阿拉伯数字编号排序。

标签: none

添加新评论