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黑魔法之编码转换
Jan 25 Python
详解Python中的文件操作
Aug 28 Python
利用python将图片转换成excel文档格式
Dec 30 Python
python与caffe改变通道顺序的方法
Aug 04 Python
python实现C4.5决策树算法
Aug 29 Python
解决Mac下首次安装pycharm无project interpreter的问题
Oct 29 Python
PyCharm 设置SciView工具窗口的方法
Jan 15 Python
详解Django中CBV(Class Base Views)模型源码分析
Feb 25 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
python中如何使用insert函数
Jan 09 Python
Python中os模块功能与用法详解
Feb 26 Python
Python中 range | np.arange | np.linspace三者的区别
Mar 22 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遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
JS画5角星方法介绍
2013/09/17 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
python 判断一个进程是否存在
2009/04/09 Python
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
简单的Python2.7编程初学经验总结
2015/04/01 Python
对Python 数组的切片操作详解
2018/07/02 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
数据库的约束含义
2012/09/09 面试题
幼儿园开学家长寄语
2014/01/19 职场文书
学生个人自我鉴定
2014/03/26 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
婚庆公司计划书
2014/09/15 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
催款函怎么写
2015/06/24 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
html+css 实现简易导航栏功能
2021/04/07 HTML / CSS
Nginx HTTP跳转至HTTPS
2022/05/15 Servers
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS