基于IP的高效爬虫方法技术

技术编号:21917518 阅读:17 留言:0更新日期:2019-08-21 13:32
本发明专利技术涉及一种基于IP的高效爬虫方法,包括以下步骤:(1)获取代理IP,将IP放入可用性检测队列,请求在本地搭建的服务器,将高质量代理的IP放入普通IP池;(2)根据实际采集任务,制定指定网站使用的IP池;(3)对各个代理池的IP请求服务器,删掉失效的IP。采用了本发明专利技术的基于IP的高效爬虫方法,根据采集不同的网站,添加不同的指定网站使用的IP池,不同的网站用不同的IP池,能最大限度的利用IP,本发明专利技术节约了因无法获取数据而频繁切换IP的时间,大大提高了爬虫效率,通过对指定网站使用的IP池监测就能很好解决该问题,提高利用率和效率。

An efficient crawler method based on IP

【技术实现步骤摘要】
基于IP的高效爬虫方法
本专利技术涉及数据采集领域,尤其涉及IP使用领域,具体是指一种基于IP的高效爬虫方法。
技术介绍
现有技术的常规方法是取任意IP去请求目标网站,直到因为使用频繁而无法获取数据再切换另一个IP,这样,会导致IP使用率低下。
技术实现思路
本专利技术的目的是克服了上述现有技术的缺点,提供了一种效率高、利用率高、操作简便的基于IP的高效爬虫方法。为了实现上述目的,本专利技术的基于IP的高效爬虫方法如下:该基于IP的高效爬虫方法,其主要特点是,所述的系统包括:(1)获取代理IP,将IP放入可用性检测队列,请求在本地搭建的服务器,将高质量代理的IP放入普通IP池;(2)根据实际采集任务,制定指定网站使用的IP池;(3)对各个代理池的IP请求服务器,删掉失效的IP。较佳地,所述的步骤(1)具体包括以下步骤:(1.1)获取代理IP,将IP放入可用性检测队列;(1.2)请求在本地搭建的服务器,判断2秒内是否能得到服务器响应,如果是,则此IP为高质量代理,添加目标网站质量检测队列,放入普通IP池,继续步骤(2);否则,所述的IP为非高质量代理,重新放入可用性检测队列;(1.3)判断所述的IP放入可用性检测队列的次数是否大于3,如果是,则舍弃所述的IP;否则,继续步骤(1.2)。较佳地,所述的步骤(2)具体包括以下步骤:(2.1)用所述的IP请求目标网站;(2.2)判断是否能得到响应,如果是,则所述的IP能通过目标网站验证,将所述的IP重新放入指定网站使用的IP池;否则,将所述的IP放回普通IP池。较佳地,所述的步骤(3)具体包括以下步骤:(3.1)取出各个代理池的IP,请求步骤(1)的数据服务器;(3.2)判断2秒内是否能得到服务器响应,如果是,则放回对应的IP池;否则,所述的IP已经失效,从对应IP池删掉所述的IP;(3.3)继续步骤(3.1),直至IP池内所有IP均未失效。较佳地,所述的步骤(3.1)中的代理池包括普通IP池和指定网站使用的IP池。较佳地,所述的方法还包括使用IP的具体步骤,具体包括以下步骤:(1-1)利用随机函数从IP池内随机选取代理进行使用。较佳地,所述的方法还包括使用IP的具体步骤,具体包括以下步骤:(2-1)判断普通IP池内的IP是否已被多次使用,如果是,则从步骤(2)中的指定网站使用的IP池内选取IP;否则,继续使用普通IP池。采用了本专利技术的基于IP的高效爬虫方法,根据采集不同的网站,添加不同的指定网站使用的IP池,不同的网站用不同的IP池,因为指定网站使用的IP池的IP,不仅仅是高质量,而且能通过目标网站的验证,所以,每次请求基本都能拿到数据,而且每次请求都是从IP池随机取一个,一段时间内,不会重复使用,所以能最大限度的利用IP,本专利技术节约了因无法获取数据而频繁切换IP的时间,大大提高了爬虫效率,通过对指定网站使用的IP池监测就能很好解决该问题,提高利用率和效率。附图说明图1为本专利技术的基于IP的高效爬虫方法的流程图。具体实施方式为了能够更清楚地描述本专利技术的
技术实现思路
,下面结合具体实施例来进行进一步的描述。本专利技术的该基于IP的高效爬虫方法,其中包括:(1)获取代理IP,将IP放入可用性检测队列,请求在本地搭建的服务器,将高质量代理的IP放入普通IP池;(1.1)获取代理IP,将IP放入可用性检测队列;(1.2)请求在本地搭建的服务器,判断2秒内是否能得到服务器响应,如果是,则此IP为高质量代理,添加目标网站质量检测队列,放入普通IP池,继续步骤(2);否则,所述的IP为非高质量代理,重新放入可用性检测队列;(1.3)判断所述的IP放入可用性检测队列的次数是否大于3,如果是,则舍弃所述的IP;否则,继续步骤(1.2);(2)根据实际采集任务,制定指定网站使用的IP池;(2.1)用所述的IP请求目标网站;(2.2)判断是否能得到响应,如果是,则所述的IP能通过目标网站验证,将所述的IP重新放入指定网站使用的IP池;否则,将所述的IP放回普通IP池;(3)对各个代理池的IP请求服务器,删掉失效的IP;(3.1)取出各个代理池的IP,请求步骤(1)的数据服务器;(3.2)判断2秒内是否能得到服务器响应,如果是,则放回对应的IP池;否则,所述的IP已经失效,从对应IP池删掉所述的IP;(3.3)继续步骤(3.1),直至IP池内所有IP均未失效;所述的方法还包括使用IP的具体步骤,具体包括以下步骤:(1-1)利用随机函数从IP池内随机选取代理进行使用;(2-1)判断普通IP池内的IP是否已被多次使用,如果是,则从步骤(2)中的指定网站使用的IP池内选取IP;否则,继续使用普通IP池。较佳地,所述的步骤(3.1)中的代理池包括普通IP池和指定网站使用的IP池。本专利技术的具体实施方式中,本技术方案使用随机函数来使用IP池,基本每次请求,都用的是不同的IP提供使用效率,无论有多少抓取项目,可以共用一个IP池。可以根据目标网站的规则,来决定是否有必要添加指定网站使用的IP池。如果有必要,则使用了指定网站使用的IP池,此IP池的特点是,不仅仅通过了步骤(1)的检测,而且验证过目标网站,所以每个IP基本都能成功通过目标网站,节约了因无法获取数据而频繁切换IP的时间,大大提高了爬虫效率。普通IP池质量通过了步骤(1)的检测,每一个质量都非常好,但其中可能有很多能通过目标网站,可能只有20%-30%的可以通过,此时,效率就非常低下,而通过对指定网站使用的IP池监测就能很好解决该问题,提高利用率和效率。本专利技术根据采集不同的网站,添加不同的指定网站使用的IP池,不同的网站用不同的IP池,因为指定网站使用的IP池的IP,不仅仅是高质量,而且能通过目标网站的验证,所以,每次请求基本都能拿到数据,而且每次请求都是从IP池随机取一个,一段时间内,不会重复使用,所以能最大限度的利用IP。本技术方案中指定网站使用的IP池为拟抓取数据网站。本专利技术的具体实施例的步骤如下:(1)获取代理IP,将IP放入可用性检测队列,请求在本地搭建的服务器(不设置任何限制),如果2s内能得到服务器响应,则认为此IP为高质量代理,则放入普通IP池,如果得不到响应,则认为此IP很大的可能为非高质量代理,则重新放入可用性检测队列,如果连续3次无法进入普通IP池,则舍弃此IP。(2)根据实际采集任务,制定,指定网站使用的IP池,实际步骤为:在上一步骤中,IP进入普通IP池前,添加“目标网站质量检测队列”,此时的IP是步骤(1)产出的,为高质量IP,但可能已经被目标网站限制,所以,需要拿此IP,请求目标网站,如果能得到响应,则表明此IP,不仅为高质量IP,而且,可以通过目标网站验证,则将此IP,重新放入指定网站使用的IP池,否则,放回普通IP池。(3)质量持续检测队列,与步骤(1)中的可用行检测队列不同的是,可用行检测队列是对新获取IP时,必须经过的一个验证步骤,而质量持续检测队列,是针对已经通过步骤(1),第二部验证的所有IP池,具体操作为,取出各个代理池(包括普通IP池,以及指定网站使用的IP池的IP,去请求步骤(1)的拟抓取数据服务器,如果2s内能得到服务器响应,则放回对应的IP池,否则,认为此IP已经失效,则从对应IP池删掉此IP,重复此本文档来自技高网
...

【技术保护点】
1.一种基于IP的高效爬虫方法,其特征在于,所述的系统包括:(1)获取代理IP,将IP放入可用性检测队列,请求在本地搭建的服务器,将高质量代理的IP放入普通IP池;(2)根据实际采集任务,制定指定网站使用的IP池;(3)对各个代理池的IP请求服务器,删掉失效的IP。

【技术特征摘要】
1.一种基于IP的高效爬虫方法,其特征在于,所述的系统包括:(1)获取代理IP,将IP放入可用性检测队列,请求在本地搭建的服务器,将高质量代理的IP放入普通IP池;(2)根据实际采集任务,制定指定网站使用的IP池;(3)对各个代理池的IP请求服务器,删掉失效的IP。2.根据权利要求1所述的基于IP的高效爬虫方法,其特征在于,所述的步骤(1)具体包括以下步骤:(1.1)获取代理IP,将IP放入可用性检测队列;(1.2)请求在本地搭建的服务器,判断2秒内是否能得到服务器响应,如果是,则此IP为高质量代理,添加目标网站质量检测队列,放入普通IP池,继续步骤(2);否则,所述的IP为非高质量代理,重新放入可用性检测队列;(1.3)判断所述的IP放入可用性检测队列的次数是否大于3,如果是,则舍弃所述的IP;否则,继续步骤(1.2)。3.根据权利要求1所述的基于IP的高效爬虫方法,其特征在于,所述的步骤(2)具体包括以下步骤:(2.1)用所述的IP请求目标网站;(2.2)判断是否能得到响应,如果是,则所述的IP能通过目标网站验证,将所述的IP...

【专利技术属性】
技术研发人员:张臣
申请(专利权)人:上海睿翎法律咨询服务有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1