1.一种突破IP限制的爬虫实现方法,其特征在于:该方法包括以下步骤:
(1)爬虫调度服务器下发一个抓取任务,抓取任务包含任务ID、HTTP请求的URL以及全部参数、最长等待时间;
(2)客户端接收到抓取任务后,立即发起HTTP请求来抓取相应的页面;
(3)页面抓取完成,检查有没有超过最长等待时间,若没有超过最长等待时间,则执行步骤(4),否则执行步骤(1);
(4)将抓取到的数据发送到爬虫调度服务器,同时标注任务ID,抓取到的数据为HTTP响应返回的字符串。
2.根据权利要求1所述的突破IP限制的爬虫实现方法,其特征在于:所述步骤(1)中最长等待时间为30秒。
3.根据权利要求1或2所述的突破IP限制的爬虫实现方法,其特征在于:所述步骤(4)之后还包括校验步骤:两个客户端在最长等待时间内发出相同的HTTP请求,将返回的结果提交给爬虫调度服务器,若提交的结果也相同,则判定此次抓取真实有效;若提交结果不同,则判定本次抓取无效,重新下发抓取任务。
4.根据权利要求1或2所述的突破IP限制的爬虫实现方法,其特征在于:所述步骤(4)之后还包括:爬虫调度服务器每收集到一次提交,就在缓存中查找这次的任务ID,如果已经有其他客户端提交过,就对比两次提交是否一致,否则把这次提交记入缓存。
5.根据权利要求4所述的突破IP限制的爬虫实现方法,其特征在于:对比两次提交,如果一致则抓取可信,将结果写进数据库;若两次提交不一致,则本次抓取任务作废,重新生成抓取任务,重新下发。
6.根据权利要求1所述的突破IP限制的爬虫实现方法,其特征在于:所述步骤(1)中,爬虫调度服务器均匀地下发任务。
7.一种突破IP限制的爬虫实现系统,其特征在于:该系统包括:
爬虫调度服务器,其配置来下发一个抓取任务,抓取任务包含任务ID、HTTP请求的URL以及全部参数、最长等待时间;
客户端,其配置来接收到抓取任务后,立即发起HTTP请求来抓取相应的页面;
检测模块,其配置来在页面抓取完成,检查有没有超过最长等待时间;
发送模块,其配置来将抓取到的数据发送到爬虫调度服务器,同时标注任务ID,抓取到的数据为HTTP响应返回的字符串。