python队列Queue
Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个使用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递。
基本FIFO队列
class Queue.Queue(maxsize=0)。FIFO即first in first out,先进先出。queue提供了一个基本的FIFO容器,使用方法很简单,maxsize是个整数,指明了队列中能存放的数据个数的上限。一旦达到上限,插入会导致阻塞,直到队列中的数据被消费掉。如果maxsize小于或者等于0,队列大小没有限制。它是进行广度遍历。
import queue
test = queue.Queue()
test.put("123")
print(test.get())
test.get()
然后python会一直运行。
LIFO队列
LIFO即Last in First Out,后进先出。与栈的类似,使用同FIFO用法类似。
如果要实现增量式爬虫,要使用FIFO队列
以爬百度贴吧为例:
import requests
import lxml.html
from queue import Queue
class TiebaSpider(object):
"""
实现下载某个贴吧指定页码前的内容,存储下载内容
"""
def __init__(self, name, pages):
"""