python3爬虫中引用Queue的实例讲解


Posted in Python onNovember 24, 2020

我们去一个受欢迎的地方买东西,难免会需要排队等待。如果有多个窗口的话,就会有不同队列的产生,当然每个队伍的人数也会出现参差不齐的现象。我们今天所要说的Queue就可以理解成生活中的排队现象。那么结合我们所要用的爬虫知识,应该怎么在Queue中应用呢?接下来就开始今天的内容学习:

队列这种东西大家应该都知道,就是一个先进先出的数据结构,而Python的标准库中提供了一个线程安全的队列,也就是说该模块是适用于多线程编程的先进先出(first-in,first-out,FIFO)数据结构,可以用来在生产者消费者线程之间安全地传递消息或其他数据。它会为调用者处理锁定,使用多个线程可以安全地处理同一个 Queue 实例。Queue 的大小(其中包含的元素个数)可能要受限,以限制内存使用或处理。

在Python 3中要引入Queue和Python 2中引入Queue是不同,引入方式如下:

#python 2
import Queue
# python 3
from queue import Queue

因为是线程安全的,很自然就可以利用Queue来实现一个多线程爬虫咯,而Queue的一些常见操作如下:

# 实例化一个队列,可以在指定队列大小
q = Queue.Queue()
q_50 = Queue.Queue(50) # 指定一个长度为50的队列
# 入队一个数据data
q.put(data)
# 出队并赋值给item
item = q.get()
# 判断队列是否为空,是否满
if q.empty():
  print('队列为空')
if q.full():
print('队列满')

另外,除了普通队列,标准库中还有优先队列和后进先出队列这两个队列,分别为LifoQueue和PriorityQueue,其引用方式与Queue类似。

到此这篇关于python3爬虫中引用Queue的实例讲解的文章就介绍到这了,更多相关python3爬虫中如何引用Queue案例内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的gevent框架的入门教程
Apr 29 Python
对Python中type打开文件的方式介绍
Apr 28 Python
查看Django和flask版本的方法
May 14 Python
Python单元测试unittest的具体使用示例
Dec 17 Python
PyQt5实现简易计算器
May 30 Python
ubuntu 16.04下python版本切换的方法
Jun 14 Python
PyQt5 QListWidget选择多项并返回的实例
Jun 17 Python
Django models.py应用实现过程详解
Jul 29 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
Feb 04 Python
Python matplotlib画曲线例题解析
Feb 07 Python
解决python运行启动报错问题
Jun 01 Python
python中如何写类
Jun 29 Python
python3爬虫中多线程的优势总结
Nov 24 #Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
Nov 24 #Python
python 如何停止一个死循环的线程
Nov 24 #Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 #Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 #Python
Python调用Redis的示例代码
Nov 24 #Python
基于django和dropzone.js实现上传文件
Nov 24 #Python
You might like
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
php array的学习笔记
2012/05/10 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
javascript 快速排序函数代码
2012/05/30 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
利用ctypes提高Python的执行速度
2016/09/09 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
如何更优雅地写python代码
2019/07/02 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
COS美国官网:知名服装品牌
2019/04/08 全球购物
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
村级换届选举方案
2014/05/10 职场文书
给校长的建议书100字
2014/05/16 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL