Advertisement

Python3网络爬虫开发实战-异步爬Chef

阅读量:

文章结构概览

  • 一、基础知识
    • 二、定义协程
        • 1. 单任务协程
        • 2. 多任务协程
        • 3. Queue
        • 4. aiohttp 协程实现
        • 5. httpx 协程实现
        • 6. 其他异步环境
        • 7. 实战

爬虫属于典型的 IO 密集型操作,若采用 requests 库来获取某网站的内容,在发送请求之后,程序需要等待服务器返回数据后才能继续执行后续步骤。为提升效率,可以借助异步爬虫的方式对这一过程进行优化。

一、基础知识

通过协程实现性能优化,该途径在处理IO密集型任务时表现出色,特别是在爬虫应用中,可显著增强数据抓取的效率;

  • 阻塞 :当程序因缺乏必要的计算资源而被暂停运行时,即进入阻塞状态。在此期间,程序无法执行其他操作,直至所等待的操作完成;
  • 同步 :多个程序模块为协同完成特定任务,在运行过程中需借助某种通信机制保持同步关系。这种执行方式强调顺序性;
  • 异步 :不同程序模块无需相互沟通即可独立完成任务,彼此之间处于非同步状态。异步特性意味着操作顺序不固定;
  • 多进程 :利用计算机CPU多核运算能力,并行处理多个任务,从而有效提升整体运行效率;
  • 协程 :协程既

全部评论 (0)

还没有任何评论哟~