线程,协程对比和Python爬虫实战说明
发布日期:2022-03-18 18:19:13
浏览次数:4
分类:技术文章
本文共 462 字,大约阅读时间需要 1 分钟。
此文首发于我的个人博客:
这篇文章写的是我对线程和协程的理解,有错误之处欢迎指出。
举一个餐馆的例子。我们把一个餐厅当做一个进程,如果这个餐厅只有1个服务员,那么这个餐厅是
单线程的;如果这个餐厅有2个服务员,那么这个餐厅是双线程的。 如果这个餐厅的服务员像海底捞的服务员一样,一次只服务一桌的客人,在这桌的客人离开前不会服务 下一桌的客人,那么我们称这个线程是阻塞的。如果一个服务员同时服务多桌客人,那么我们称这个线程 是非阻塞的。 实现了非阻塞的线程我们称之为协程,也就是说协程是依赖线程的存在。 下面就是Python的爬虫实战对比说明 本来想使用aiohttp库的,但为了对比效果更好,我使用requests库 我先写了一个本地的flask应用,在返回网页前等待3秒模拟真实网络爬虫 单线程爬虫: 共花费301秒多线程爬虫:
共花费75秒单线程协程爬虫:
只花费9秒 可以看出单线程的协程爬虫速度已经非常快了多线程协程爬虫:
只花费3秒总结
多线程和协程结合,能够使得爬虫的速度达到极致
代码地址:参考资料:
转载地址:https://zhang0peter.blog.csdn.net/article/details/83419165 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月31日 16时15分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
高通平台gpio简单调试
2019-04-27
msm8953+android8.1蓝牙名称修改、多产品采用不同名字的兼容
2019-04-27
WinCE Heartbeat Message的实现
2019-04-27
wince国际化语言支持
2019-04-27
WinCE中文显示乱码的解决办法
2019-04-27
使用Silverlight for Embedded开发绚丽的界面(1)
2019-04-27
使用Silverlight for Embedded开发绚丽的界面(2)
2019-04-27
使用Silverlight for Embedded开发绚丽的界面(3)
2019-04-27
使用Silverlight for Embedded开发绚丽的界面(4)
2019-04-27
阶段-关口系统-stage2立项分析阶段---学习记录
2019-04-27
阶段-关系系统-stage1范围界定阶段---学习记录
2019-04-27
14条建议,使你的IT职业生涯更上一层楼
2019-04-27
安卓平板设置默认浏览器
2019-04-27
QT4.7.0 产生语言文件.ts
2019-04-27
在QT4.7中使用QJson
2019-04-27
note : 使用宏简化代码的输入
2019-04-27
note : get address of KiFastCallEntry
2019-04-27
qt4.8.7软件安装环境
2019-04-27
win10 mstsc 设置
2019-04-27