您现在的位置是:课程教程文章

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

2023-12-13 23:43课程教程文章 人已围观

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

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

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

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

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

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

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

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

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

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

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

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

上一篇:javascript中promise有什么局限

下一篇:没有了

站点信息

  • 文章统计篇文章