异步与分布式在爬虫中的应用(个人理解)

异步:

是一个非阻塞的运行模式,就是在运行主程序的时候,如果其中有了耗时操作,程序不会在这操作进行停留,而会继续执行下面的代码

拓展:
    其中普及一下:常见的阻塞形式有:网络I/O操作,磁盘的I/O操作,用户输入时候的阻塞.
    在爬虫项目中,一般会使用异步进行爬取,从而提高运行效率,因为在发送请求以后,需要依靠网络通信来返回响应,其中肯定会涉及一些延时,这时候就可以进行异步跳过,在延时的时候继续发送下一次请求,然后如果有响应回来了,再处理响应

=============================(华丽分界线)=================================

分布式:

分布式就是一个任务拆分成几个子任务然后不考虑任务间的依赖关系,同时执行子任务.

在爬虫中是把一个请求队列放在数据库里面,可以在里面顺便进行去从操作,既爬过的页面,就不继续爬取了,

然后可以开多个线程或者进程同时进行发送请求

拓展:

其中会涉及到集群的概念,集群是同一个任务部署到多个服务器上,然后分布式是一个任务拆分多个子任务然后部署到不同的服务器上.

分布式和集群是最常见的两种多重任务处理的方法,

=================================总结====================================

异步和分布式同时利用在爬虫中时,此时的运作模式就是,创建一个线程池或者一个协程池的时候,里面集成了异步请求,就是把耗时操作的任务
    分发到线程或者协程里面,然后进行异步发送,如果子任务遇到阻塞了,就用内置callback参数切换线程或者协程,继续执行下一个子任务,这样就有效的提高了任务的执行速度.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值