欢迎来真孝善网,为您提供真孝善正能量书籍故事!

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.史上真实张三丰:在棺材中竟神奇复活