[发明专利]一种爬虫程序的代理获取的方法及装置有效
申请号: | 201710993998.3 | 申请日: | 2017-10-23 |
公开(公告)号: | CN107832355B | 公开(公告)日: | 2019-03-26 |
发明(设计)人: | 吕光增;柳超 | 申请(专利权)人: | 北京金堤科技有限公司 |
主分类号: | G06F16/953 | 分类号: | G06F16/953;G06F11/34 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 爬虫 程序 代理 获取 方法 装置 | ||
1.一种爬虫程序的代理获取的方法,其特征在于,包括:
获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;
接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;
每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除;
所述从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,包括:
循环从所述第一队列中获取未被遍历的可用代理,作为第四待检测代理,执行所述第二检测,直到得到所述第二检测合格的可用代理,或者遍历了所述第一队列中的所有可用代理,将所述第二检测合格的可用代理作为有效代理;
其中,所述第二检测包括:
循环执行通过所述第四待检测代理抓取所述待抓取网页对应的测试页的操作,直到通过所述第四待检测代理抓取所述测试页成功,或者通过所述第四待检测代理抓取所述测试页的次数大于预设次数;
若检测到通过所述第四待检测代理抓取所述测试页成功,则对所述第四待检测代理进行第二检测的检测结果为合格;
若检测到通过所述第四待检测代理抓取所述测试页的次数大于所述预设次数,则对所述第四待检测代理进行第二检测的检测结果为不合格。
2.根据权利要求1所述的方法,其特征在于,所述获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,包括:
每隔第二预设时间段,根据预设的代理库中的代理生成代理列表,针对所述代理列表中的每一代理进行所述第一检测,将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
3.根据权利要求2所述的方法,其特征在于,所述将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列,包括:
获取所述第一队列中每一可用代理对应的评价参数,得到评价参数大于或等于第二阈值的可用代理,作为第一待检测代理,并将评价参数小于所述第二阈值的可用代理从所述第一队列移除;
针对每一所述第一待检测代理,获取所述第一待检测代理最近一次添加至所述第一队列的添加时间点,若所述添加时间点和当前时间点之间的时间间隔大于第三预设时间段,则移除所述第一待检测代理;
将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
4.根据权利要求2所述的方法,其特征在于,所述针对所述代理列表中的每一代理进行所述第一检测,包括:
循环获取所述代理列表中的任一未被遍历的代理作为第二待检测代理,执行判断所述第二待检测代理是否能在第四预设时间段内成功通过Socket方式与用于检测能否建立Socket连接的代理服务器建立连接,若是,则判断对所述第二待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理;
或者,
循环获取所述代理列表中的任一未被遍历的代理作为第三待检测代理,执行判断所述第三待检测代理是否能通过预设接口抓取预设网页,若是,则判断对所述第三待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理。
5.根据权利要求1所述的方法,其特征在于,所述根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,包括:
获取当前记录的所述爬虫程序通过所述有效代理抓取网页的总次数,以及所述爬虫程序通过所述有效代理抓取网页成功的成功次数;
若所述返回信息为通过所述有效代理成功抓取所述待抓取所述待抓取网页,则在所述成功次数和所述总次数上分别累加一次,计算累加后的成功次数和累加后的总次数的比值,作为所述评价参数;
若所述返回信息为通过所述有效代理未成功抓取所述待抓取所述待抓取网页,则在所述总次数上累加一次,计算当前记录的成功次数和累加后的总次数的比值,作为所述评价参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金堤科技有限公司,未经北京金堤科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710993998.3/1.html,转载请声明来源钻瓜专利网。