Python爬虫技巧:掌握队列Queue,迈向高手之路

更新:11-09 现代故事 我要投稿 纠错 投诉

大家好,今天来为大家解答Python爬虫技巧:掌握队列Queue,迈向高手之路这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

提供了适合多线程编程的先进先出数据结构,即队列,

用于在生产者线程和消费者线程之间传递信息

基本FIFO队列

类Queue.Queue(maxsize=0)

FIFO的意思是First in First Out,先进先出。 Queue 提供了一个基本的FIFO 容器,使用起来非常简单。 maxsize是一个整数,指定队列中可以存储的数据数量的上限。一旦达到限制,插入就会造成阻塞,直到队列中的数据被消耗完。如果maxsize 小于或等于0,则队列大小没有限制。

举个栗子:

Python成为爬虫高手。这个知识点Queue的输出你一定要明白:

Python成为爬虫高手,这个知识点你必须要懂Queue

LIFO队列

class Queue.LifoQueue(maxsize=0)

LIFO 代表后进先出。与栈类似,使用起来也非常简单。 maxsize的用法同上。

我们再举一个例子:

Python成为爬虫高手。这个知识点Queue的输出你一定要明白:

Python成为爬虫高手。队列这个知识点你一定要了解。您可以看到,只需将Queue.Quenu 类替换为Queue.LifiQueue 类即可。

优先级队列

类Queue.PriorityQueue(maxsize=0)

构建优先级队列。 maxsize的用法同上。

Python成为爬虫高手。这个知识点Queue的结果你一定要明白

Python成为爬虫高手。这个知识点你一定要明白:Queue

一些常用方法

task_done()表示之前添加到队列中的一个任务已经完成。由队列的消费者线程调用。每个get() 调用都会获取一个任务,随后的task_done() 调用会告诉队列该任务已被处理。

如果当前join() 处于阻塞状态,则当队列中的所有任务都已处理完毕(即,通过put() 调用入队的每个任务都有相应的task_done() 调用)时,它将恢复执行。

join()阻塞调用线程,直到处理完队列中的所有任务。

只要向队列中添加数据,未完成任务的数量就会增加。当消费者线程调用task_done()(意味着消费者获取任务并完成任务)时,未完成的任务数量将会减少。当未完成任务的数量降至0 时,join() 解除阻塞。

put(item[, block[, timeout]])将项目放入队列中。

如果可选参数block为True且timeout为空对象(默认,阻塞调用,无超时)。

如果timeout 是正整数,则调用进程将被阻塞最多timeout 秒。如果没有可用空间,则会抛出完全异常(超时阻塞调用)。

如果block 为False,如果有可用空间,则将数据放入队列中,否则将立即抛出Full 异常

它的非阻塞版本是put_nowait 相当于put(item, False)

get([block[, timeout]])从队列中删除并返回数据。块和超时参数与put方法相同

它的非阻塞方法是"get_nowait()",相当于get(False)

empty()如果队列为空则返回True,否则返回False

用户评论

歆久

要学爬虫真的需要掌握队列这种数据结构?

    有12位网友表示赞同!

身影

想成为爬虫大牛,现在就开始学习吧!

    有8位网友表示赞同!

容纳我ii

我正在学Python,看看能不能搞懂这个Queue知识点!

    有17位网友表示赞同!

浅巷°

感觉爬虫很有趣,有机会尝试一下

    有7位网友表示赞同!

猫腻

队列这东西我记得在大学里学过,现在要用到啦!

    有13位网友表示赞同!

鹿先森,教魔方

学习编程真是个不断探索的过程

    有12位网友表示赞同!

孤岛晴空

Python真是一门方便的语言!

    有10位网友表示赞同!

雪花ミ飞舞

爬虫能干很多事情吗?可以给我一些例子吗?

    有9位网友表示赞同!

青瓷清茶倾城歌

这个文章看起来很有价值,等周末去好好看看!

    有5位网友表示赞同!

慑人的傲气

想学到更多Python知识点,在哪里可以找到学习资源呢?

    有7位网友表示赞同!

无望的后半生

队列应该用来实现什么功能呢?很想知道这方面的应用场景。

    有10位网友表示赞同!

算了吧

做爬虫的时候需要注意一些伦理问题吗?

    有7位网友表示赞同!

莫失莫忘

感觉爬虫这个行业很有未来性,以后有机会试试!

    有5位网友表示赞同!

゛指尖的阳光丶

学习Python真的能提升工作能力吗?

    有14位网友表示赞同!

。婞褔vīp

这个知识点队列Queue到底有多重要呢?可以分享一些经验吗?

    有13位网友表示赞同!

凝残月

我希望能掌握爬虫技术,实现自己的一些想法!

    有19位网友表示赞同!

伪心

学习新技能总是能让人很有成就感。

    有20位网友表示赞同!

琴断朱弦

感觉成为Python爬虫大牛需要付出很大的努力!

    有12位网友表示赞同!

龙吟凤

有好的爬虫书籍或者教程推荐吗?

    有15位网友表示赞同!

拉扯

最近想入门Python,这个文章正好适合我!

    有20位网友表示赞同!

【Python爬虫技巧:掌握队列Queue,迈向高手之路】相关文章:

1.动物故事精选:寓教于乐的儿童故事宝库

2.《寓教于乐:精选动物故事助力儿童成长》

3.探索动物旅行的奇幻冒险:专为儿童打造的童话故事

4.《趣味动物刷牙小故事》

5.探索坚韧之旅:小蜗牛的勇敢冒险

6.传统风味烤小猪,美食探索之旅

7.探索奇幻故事:大熊的精彩篇章

8.狮子与猫咪的奇妙邂逅:一场跨界的友谊故事

9.揭秘情感的力量:如何影响我们的生活与决策

10.跨越两岸:探索彼此的独特世界

上一篇:如何安装 VSFTPD 服务器 下一篇:《奶龙》全集高清在线观看及资源下载地址分享