如何解决爬虫无法访问公开数据的问题?

网络爬虫抓取数据的过程中,如果抓取频率过高或者使用了多线程,很容易会被判断IP属性,无法高效采集公开数据访问。通常,网站的访问虫机制都是依据IP和用户的User-Agent来标识爬虫的。那么爬虫被允许采集公开数据了该怎么办呢?


如何解决爬虫无法访问公开数据的问题?.png


1、放慢抓取速度,减小对于目标网站造成的压力。但是这样会减少单位时间类的抓取量。


2、第二种方法是通过设置代理IP等手段,防止访问虫机制继续高频率抓取。但是这样需要大量稳定的IP转换器。


普通的基于ADSL拨号的解决办法通常,在抓取过程中遇到判断IP属性,无法高效采集公开数据访问,可以重新进行ADSL拨号,获取新的IP,从而可以继续抓取。


但是这样在多网站多线程抓取的时候,如果某一个网站的抓取被判断IP属性,无法高效采集公开数据了,同时也影响到了其他网站的抓取,整体来说也会降低抓取速度。一种可能的解决办法同样也是基于ADSL拨号,不同的是,需要两台能够进行ADSL拨号的服务器。


抓取过程中使用这两台服务器作为代理。假设有A、B两台可以进行ADSL拨号的服务器。爬虫程序在C服务器上运行,使用A作为代理访问全球网站公开数据,如果在抓取过程中遇到判断IP属性,无法高效采集公开数据访问的情况,立即将代理切换为B,然后将A进行重新拨号。


如果再遇到判断IP属性,无法高效采集公开数据访问就切换为A做代理,B再拨号,如此反复。使用HTTP这种方法便捷而且IP资源的质量也会比较好。




声明:本文来自网络投稿,不代表IPIDEA立场,若存在侵权、安全合规问题,请及时联系IPIDEA进行删除。

上一篇:优质的IP代理有什么特征?

下一篇:代理IP如何解决爬虫中的困难?