注册
登录
提问时间:2018/11/5 15:30:48    楼主:未知网友   阅读量:274

我们知道,网站通常都有反爬虫机制,用来防止爬虫给网站带来太大的负载,影响网站的正常运行。所以,爬虫工程师在爬某网站之前都需要好好的研究一番,避免触发网站的反爬虫机制,这样才能愉快的获取所需的数据。那么,当任务量过于庞大时,如何愉快的按时完成任务呢?

避免触发网站的反爬虫机制,意味着要放弃访问速度,至少不能反人类,甚至不能达到对方设置的访问次数的阈值,这意味着要放弃爬取速度,这样就不能按时完成任务了。如何解决呢,其实也有两种方法,大量的高效代理IP和分布式爬虫系统。

一、高效代理IP。代理IP相对于反爬虫机制来说就是个作弊器,相当于分身,每当触发了反爬虫机制被封后,就舍弃分身再换个继续上。当然,有了高效代理IP后也不能无视反爬虫机制,合理的反反爬虫机制可以有效的节约代理IP资源,否则就需要更大的成本去购买代理IP,同时还影响效率。

二、分布式爬虫。爬虫程序被部署在不同的机器上,每一台爬虫机器拥有不同的IP地址,并且每个爬虫以比较大的时间间隔抓取取据。单台爬虫机器虽然可以多线程进行抓取,但受自身资源限制(CPU、连接数、带宽等)和反爬虫机制限制(访问频率等),分布式爬虫可以大大的提高爬取效率。

有了高效代理IP和分布式爬虫,就可以愉快的按时完成任务了。