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 相关文章推荐
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
巧用python和libnmapd,提取Nmap扫描结果
Aug 23 Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 Python
python实现三维拟合的方法
Dec 29 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
详解python路径拼接os.path.join()函数的用法
Oct 09 Python
python FTP批量下载/删除/上传实例
Dec 22 Python
Python实现汇率转换操作
May 03 Python
基于python实现坦克大战游戏
Oct 27 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的开合式多级菜单程序
2006/10/09 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
ThinkPHP基本的增删查改操作实例教程
2014/08/22 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
使用jQuery.wechat构建微信WEB应用
2014/10/09 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
JS作用域深度解析
2016/12/29 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python高效编程技巧
2013/01/07 Python
python的dict,set,list,tuple应用详解
2014/07/24 Python
python中的计时器timeit的使用方法
2017/10/20 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
什么造成了Java里面的异常
2016/04/24 面试题
销售找工作求职信
2013/12/20 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书