原计划直接写爬虫第 25 例,但是发现它需要 Queue 队列相关知识,翻阅了一下同步编写的《滚雪球学 Python》专栏,竟然没有相关博客。这就不得不补充一篇,恰好把他放在《Python 爬虫 120 例》中。
Queue 模块
在学习之前,你可以直接打开 官方手册 对比学习。
只要涉及到多线程爬虫,就会涉及到数据采集队列的优先级问题,在 Python 中 Queue 模块提供了一个同步的,线程安全的队列类,它包括常见的 FIFO(先入先出)、LIFO(后入先出)、PriorityQueue(按优先级队列)以及先入先出类型的简单队列(SimpleQueue,3.7 版本新增功能)。
先入先出,后入先出这些都是数据结构中的一些基本知识,不再扩展说明,直接百度相关关键词即可学习。
可以回忆出来栈是先进后出,队列(Queue)是先进先出即可。
初始队列可以先掌握这样几个概念:
- 初始化队列:创建一个空队列;
- 入队:把数据添加到对位;
- 出队:从队首取数据;
- 销毁队列:删除队列相关数据。
初始化一个队列
在 Python 中可以直接导入 Queue 模块,然后对其进行初始化操作