龙空技术网

使用协程程序来提高python的运行效率

PHM小知 994

前言:

此刻看官们对“python协程爬虫”大体比较关心,朋友们都想要知道一些“python协程爬虫”的相关文章。那么小编在网摘上搜集了一些对于“python协程爬虫””的相关文章,希望大家能喜欢,小伙伴们一起来了解一下吧!

python功能强大、语言简洁这些大家都知道,但是python有个缺点就是运行速度比c、c++要慢很多,为了提高运行速度,就必须在python程序中设置多进程、多线程、协程或者是分布式进程。这些多进程等都可以使python的运行速度变快,从而达到人们所期待的运行效率。

下面将讲解协程爬虫如何实现并发处理:1.一般模式:

为什么要学习协程?

由于IO操作非常耗时,经常使程序处于等待状态,有了gevent为我们自动切换协程,就保证总有greenlet在运行,而不是等待IO,这就是协程一般比多线程效率高的原因。

协程代码实例如下:

运行结果截图:

2.建立协程池

为什么要建立协程池?

greenlet需要进行并发管理(限制并发数)时,就可以使用池,这在处理大量的网络和IO操作时是非常需要的。

实例代码:

运行结果如下:

通过运行结果可以看出,Pool对象确实对协程的并发数量进行了管理,pool = Pool(2)

先访问了前两个网址,当其中一个任务完成时,才会执行第三个。

今天内容到此结束了,今天的内容是关于运行效率的问题,想要看多进程或多线程的操作可以去我的主页看看我的其他两篇文章。

喜欢的朋友可以关注一下喔,希望今天的内容对读者有所帮助。

标签: #python协程爬虫