名词待爬队列是什么意思?这个队列干什么用?

- 作者:神箭手官网 ——来源:神箭手官网 ——

在采集数据的时候,把即将要爬取的列表地址,称为待爬队列。那么神箭手作为一款智能云采集工具当然也会有待爬队列。神箭手的待爬队列尤其独特的名词解释,下面我们就来看看在神箭手爬虫中的待爬队列是什么意思?这个待爬队列是干什么用的呢?

由于同时开启的爬虫任务可能会有多个,所以为了保证每个爬虫任务的独立性,神箭手上的每个爬虫都有各自的待爬队列,各个爬虫之间不会互相影响。一个爬虫的待爬队列,神箭手把它分成了有不同优先级的四个队列,分别是scanUrl队列、contentUrl队列、普通队列和失败队列。

scanUrl队列

此队列中存放入口页类型的链接,configs.scanUrls定义的链接会存放在此队列中,回调中可以通过site.addScanUrl添加链接到此队列中。

contentUrl队列

此队列中存放内容页类型的链接,自动链接发现以及site.addUrl的时候,通过正则检测来判断链接类型,如果是内容页,则链接会被加入到此队列中。

普通队列

此队列一般存放的都是帮助页类型的链接,自动链接发现以及site.addUrl的时候,通过正则检测,如果不是内容页,链接就会被加入到此队列中。

失败队列

这是一种特殊的队列,用来存放处理失败的链接。

神箭手的链接调度

链接调度器一次调度一个链接。默认情况下,每次调度,都会按下面的优先级进行:

contentUrl队列 > 普通队列 > scanUrl队列

当configs.entriesFirst为true时,调度优先级变为:

scanUrl队列 > contentUrl队列 > 普通队列

在链接处理过程中,如果碰到处理失败的链接,首先会触发链接的重试(此链接被重新加回到队列),当重试次数(不同类型的链接有不同的重试次数,入口页为5次,帮助页为3次,内容页为2次)达到但仍然失败时,此链接被放入失败队列,当其他所有队列都为空之后,失败队列里的链接还有再重试一次的机会,这些链接重试完之后,爬虫结束。

如果你还有其它疑问可以来本站搜索相关问题,这里会有你想要的答案:火车脚本网

还有什么疑问可以提出来
  • 全部评论(0
    还没有评论,快来抢沙发吧!