Python3网络爬虫开发实战-异步爬Chef
发布时间
阅读量:
阅读量
文章结构概览
- 一、基础知识
- 二、定义协程
-
- 1. 单任务协程
- 2. 多任务协程
- 3. Queue
- 4. aiohttp 协程实现
- 5. httpx 协程实现
- 6. 其他异步环境
- 7. 实战
-
- 二、定义协程
爬虫属于典型的 IO 密集型操作,若采用 requests 库来获取某网站的内容,在发送请求之后,程序需要等待服务器返回数据后才能继续执行后续步骤。为提升效率,可以借助异步爬虫的方式对这一过程进行优化。
一、基础知识
通过协程实现性能优化,该途径在处理IO密集型任务时表现出色,特别是在爬虫应用中,可显著增强数据抓取的效率;
- 阻塞 :当程序因缺乏必要的计算资源而被暂停运行时,即进入阻塞状态。在此期间,程序无法执行其他操作,直至所等待的操作完成;
- 同步 :多个程序模块为协同完成特定任务,在运行过程中需借助某种通信机制保持同步关系。这种执行方式强调顺序性;
- 异步 :不同程序模块无需相互沟通即可独立完成任务,彼此之间处于非同步状态。异步特性意味着操作顺序不固定;
- 多进程 :利用计算机CPU多核运算能力,并行处理多个任务,从而有效提升整体运行效率;
- 协程 :协程既
全部评论 (0)
还没有任何评论哟~
