[发明专利]一种大规模网络爬虫程序的访问方法及装置在审
| 申请号: | 201711221174.0 | 申请日: | 2017-11-28 |
| 公开(公告)号: | CN107958052A | 公开(公告)日: | 2018-04-24 |
| 发明(设计)人: | 国兴旺 | 申请(专利权)人: | 广州启生信息技术有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/12 |
| 代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 宋静娜,郝传鑫 |
| 地址: | 510000 广东省广州*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 大规模 网络 爬虫 程序 访问 方法 装置 | ||
技术领域
本发明涉及互联网大数据领域,更具体的涉及一种大规模网络爬虫程序的访问方法及装置。
背景技术
大规模网络爬虫程序具有任务量大,任务类型多,数据源本身限制多等特点。网络爬虫程序是一个沿着链接漫游万维网文档集合的程序,一般驻留在服务器上,通过给定的一些URL(英文为:Uniform Resource Locator,简称,统一资源定位符),利用HTTP(英文为:HyperText Transfer Protocol,简称,超文本传输协议)等标准协议读取相应文档,然后以文档中包括的所有未访问过的URL作为新的起点,继续进行漫游,直到没有满足条件的新URL为止。网络爬虫程序的主要功能是自动从Internet上的各万维网站点抓取万维网文档并从该万维网文档中提取一些信息来描述该万维网文档,为搜索引擎站点的数据库服务器追加和更新数据提供原始数据,这些数据包括标题、长度、文件建立时间、HTML(英文为:HyperText Markup Language,简称,超文本标记语言)文件中的各种链接数目等。
在某些以数据为中心的业务场景中,需要对大量数据进行采集和临时存储。这种类型的业务具有数据量大,数据多样性,数据源本身限制多等特点,经常需要对各种类型的数据进行不同爬虫程序的开发和管理,对于数据的解析和临时存储需要实现不同的处理逻辑,对于有些数据源还存在很多限制。例如:有些网站会对同一个IP固定时间内访问次数做限制,那么需要从此网站上进行大量数据的采集时需要突破这种频率限制来解决采集数量的问题。另外对于采集回来的网页需要进行不同逻辑的解析和临时存储,提取页面中一些信息,当这种类型的开发需求增多时,就会存在程序管理的问题。
发明内容
本发明实施例提供一种大规模网络爬虫程序的访问方法及装置,用以解决大规模爬虫程序自身的性能和效率问题。
本发明实施例提供一种大规模网络爬虫程序的访问方法,包括:
通过分发调度层调度爬虫插件从网络端获取代理地址,将所述代理地址存储至数据表内;所述数据表包括数据类型和列名,且所述数据类型,所述列名分别与获取所述代理地址的网络端对应;
通过所述数据表内包括的所述代理地址依此访问设定的网页,若成功访问则确定所述代理地址为第一代理地址,并在所述数据表内进行标记;按照设定的时间将所述第一代理地址加载到缓存队列中;
所述爬虫插件通过轮循所述第一代理地址,访问数据源。
优选地,所述分发调度层包括Muti方式和Dispatch模式;
所述Muti方式提供多线程,且多个所述线程同时执行所述爬虫插件的实现;
所述Dispatch模式从多个所述线程组成的线程池内获取一个所述线程用于获取爬虫任务并将所述爬虫任务分发给所述线程池内的多个所述线程,以使多个所述线程执行与所述爬虫任务对应的所述爬虫插件的实现。
优选地,所述爬虫插件包括周期任务型插件和网页爬虫型插件;
所述周期任务型插件用于在设定时间内周期扫描,所述网页爬虫型插件用于执行爬取。
优选地,所述通过分发调度层调度爬虫插件从网络端获取代理地址之前,还包括:
收到所述爬虫插件时,在超时管理中添加一个事件备忘时间,当所述事件备忘时间与当前时间差大于超时阈值时,将所述爬虫插件重新添加到缓存队列中;所述分发调度层从所述缓存队列内按照入队顺序调度所述爬虫插件。
优选地,所述通过所述数据表内包括的所述代理地址依此访问设定的网页,若成功访问则确定所述代理地址为第一代理地址,具体包括:
调度程序按照检测时间加载所述数据库内包括的多个所述代理地址,将多个所述代理地址作为任务参数发送到多个不同的消息队列中;
多个不同的所述消息队列内的所述任务参数访问设定的网页,并将访问结果反馈给所述调度程序。
本发明实施例还提供一种大规模网络爬虫程序的访问装置,包括:
获取单元,用于通过分发调度层调度爬虫插件从网络端获取代理地址,将所述代理地址存储至数据表内;所述数据表包括数据类型和列名,且所述数据类型,所述列名分别与获取所述代理地址的网络端对应;
确定单元,用于通过所述数据表内包括的所述代理地址依此访问设定的网页,若成功访问则确定所述代理地址为第一代理地址,并在所述数据表内进行标记;按照设定的时间将所述第一代理地址加载到缓存队列中;
访问单元,用于所述爬虫插件通过轮循所述第一代理地址,访问数据源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州启生信息技术有限公司,未经广州启生信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711221174.0/2.html,转载请声明来源钻瓜专利网。





