构建url队列

构建url队列,url,queue,web-crawler,Url,Queue,Web Crawler,这对于在大规模web爬虫中构建URL队列更为有利。链表或B-树?如果不需要搜索队列(通常不需要搜索队列),则为链表。如果不需要搜索队列(通常不需要搜索队列),则为链表。如果顺序很重要(且队列很重要),则为链表。如果需要搜索队列,则使用B-树。如果顺序很重要(并且队列很重要),则使用链表。如果需要搜索队列,则使用B-tree。如果要构建大型爬虫程序,几乎可以肯定要使用类似于AMQP消息队列的东西,最有可能是RabbitMQ。RabbitMQ(以及许多其他类似的MQs)在相当正常的安装情况下每秒将执

这对于在大规模web爬虫中构建URL队列更为有利。链表或B-树?

如果不需要搜索队列(通常不需要搜索队列),则为链表。

如果不需要搜索队列(通常不需要搜索队列),则为链表。

如果顺序很重要(且队列很重要),则为链表。如果需要搜索队列,则使用B-树。

如果顺序很重要(并且队列很重要),则使用链表。如果需要搜索队列,则使用B-tree。

如果要构建大型爬虫程序,几乎可以肯定要使用类似于AMQP消息队列的东西,最有可能是RabbitMQ。RabbitMQ(以及许多其他类似的MQs)在相当正常的安装情况下每秒将执行100000个以上的事务。我在自己的蜘蛛/爬虫设置中使用它,它就像一个符咒。当然,这比从头开始构建类似的东西要容易得多。

如果您要构建一个大型爬虫程序,几乎可以肯定的是,您希望使用类似于AMQP消息队列的东西,很可能是RabbitMQ。RabbitMQ(以及许多其他类似的MQs)在相当正常的安装情况下每秒将执行100000个以上的事务。我在自己的蜘蛛/爬虫设置中使用它,它就像一个符咒。当然,这比从头开始构建类似的东西要容易得多。

是的,我的队列应该更像一个带有推送和弹出的堆栈。但由于它将处理数千个url,我需要一个非常快速的实现。是否可以在链表上进行FIFO?是的。您需要使用头和尾指针。从尾部插入,从头部移除。是的,我的队列应该更像是一个带有推送和弹出的堆栈。但由于它将处理数千个url,我需要一个非常快速的实现。是否可以在链表上进行FIFO?是的。您需要使用头和尾指针。在尾部插入并从头部移除。不需要搜索,因为它像堆栈一样工作,只需要一个不重复的感知列表。有一个特殊的链表吗?搜索不需要,因为它像一个堆栈一样工作,只有我需要一个非重复感知列表。有专门的链表吗?顺便提一下,大多数高级高速消息队列都在内部使用链表,带有指向头部和尾部的指针。有时还引用指向队列中其他位置的指针。这实际上取决于MQ的功能集。例如,AMQP 1.0定义了“链接”的概念,链接必须在队列中维护自己的指针。顺便说一句,大多数高级高速消息队列在内部都使用链接列表,带有指向头部和尾部的指针。有时还引用指向队列中其他位置的指针。这实际上取决于MQ的功能集。例如,AMQP1.0定义了“链接”的概念,链接必须维护自己进入队列的指针。