品易云推流 关闭
文章详情页
文章 > 代理ip > 爬虫抓取的采集率太低,怎样提高?

爬虫抓取的采集率太低,怎样提高?

头像

鸡爪君

2021-08-31 20:16:16980浏览 · 0收藏 · 0评论

1、尽量减少网站访问量。

一次爬虫主要在网络请求等待响应上花费时间,尽量减少网站访问量,减轻自己的工作量,减轻网站压力,降低封闭风险。

首先要做的化流程,尽量简化流程,避免多页重复获取。

接着去重,一般根据url或id进行唯一的判的就不再继续爬了。

2、分布式爬虫:即使用尽了各种方法,单机单位时间内可以抓取的网页数量仍然是有限的。

面对大量的网页队列,可以计算的时间还是很长的。这种情况下就必须要用机器换时间了,这就是分布式爬虫。

分布式不是爬虫的本质,也不是必须的。对于相互独立、无通信的任务,可以手动分割任务,然后在多台机器上执行,减少每台机器的工作量,时间会成倍减少。

举例来说,有200W的网页要爬,可以用5台机器各自爬40W的网页互不重复,相对来说单机费时就缩短了5倍。

如果有需要通信的情况,比如一个变更的待爬行队列,每次爬行都会发生变化,即使分割任务有交叉重复,只能采用分布式。一个Master存储队列,其他多个Slave分别提取,共享一个队列,提取时即使斥责也不会反复提取。scrapy-redis是一款用得比较多的分布式爬虫框架。还有一种办法就是使用网速稳定的太阳http辅助爬虫

上述两种提高爬虫采集效率的方法,希望对您有所帮助,除此之外,在采集过程中还要注意目标网站的反爬机制。

(推荐操作系统:windows7系统、Internet Explorer 11,DELL G3电脑。)

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图