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 ljust rjust center输出
Sep 06 Python
python中map、any、all函数用法分析
Apr 21 Python
python 基础教程之Map使用方法
Jan 17 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
python生成每日报表数据(Excel)并邮件发送的实例
Feb 03 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
python梯度下降算法的实现
Feb 24 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 Python
python里glob模块知识点总结
Jan 05 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
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
angularJS 入门基础
2015/02/09 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
vue 组件简介
2020/07/31 Javascript
python 排列组合之itertools
2013/03/20 Python
使用python统计文件行数示例分享
2014/02/21 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
python中字符串内置函数的用法总结
2018/09/13 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
python实现在线翻译
2020/06/18 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
毕业生就业推荐信范文
2013/12/01 职场文书
《盲人摸象》教学反思
2014/02/16 职场文书
廉洁教育学习材料
2014/05/19 职场文书
巾帼标兵事迹材料
2014/12/26 职场文书
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang