基于虚浏览器下载的互联网大数据采集系统的制作方法

文档序号:9730270阅读:249来源:国知局
基于虚浏览器下载的互联网大数据采集系统的制作方法
【技术领域】
[0001]本发明涉及互联网信息采集的技术领域,具体说是一种基于虚浏览器下载的互联网大数据采集系统。
【背景技术】
[0002]随着互联网的发展,大数据采集和挖掘技术也在不断发展。因此,如何准确、高效、完整地从互联网中获取海量数据,就成为大数据技术群中的一项重要技术点。
[0003]为了获取互联网中的数据,通常是结合爬行技术,试图下载目标网站所有的网页的HTML源码,理论上这样确实能够保证下载内容的完整性。然而,在具体实践中,如果直接在客户端使用HTTP/HTTPS协议下载目标网站的HTML源码会出现以下问题:部分目标网站使用ajax技术,并通过JavaScript将数据灌入页面中,由于不同网站的ajax方式均不同,需要额外分析XHR数据流;部分目标网站通过登录身份验证等外围手段对网站数据进行保护,因此需要对登录过程进行逆向分析和模拟,由于涉及加解密的JS通常经过了代码混淆,逆向分析的难度很大;直接对目标网站进行HTTP请求时,无法控制缓存Cache,经常会出现一个url重复下载的情况,造成了资源的极大浪费。
[0004]上述三条原因直接导致了目前互联网数据采集性能不足,采集效率难以满足数据的膨胀率,直接导致数据结果的滞后和数据内容的缺失。

【发明内容】

[0005]本发明要解决的技术问题是提供一种基于虚浏览器下载的互联网大数据采集系统。
[0006]本发明为解决公知技术中存在的技术问题所采取的技术方案是:
本发明的基于虚浏览器下载的互联网大数据采集系统,由顶至下,包括由虚浏览器层、负载均衡层和HTTP代理层;其中虚浏览器层为系统的顶层,由虚浏览器集群构成,发出HTTP请求;负载均衡层为系统的中间层,虚浏览器层通过负载均衡层连接HTTP代理层;HTTP代理层为系统的底层,依HTTP请求返回HTTP响应。
[0007]本发明还可以采用以下技术措施:
所述的虚浏览器以开源浏览器内核为核心,保留网页解析模块、脚本引擎、视觉渲染模块,去除包含界面显示模块、多媒体数据下载模块和访问记录存储模块在内的外围模块。
[0008]所述的虚浏览器中包括开源Chrome内核和PhantomJS。
[0009]所述的负载均衡层中使用LVS服务作为负载均衡,LVS服务向外暴露出一个虚拟ip,使虚浏览器集群连接该虚拟ip作为HTTP代理;同时,LVS将具体的HTTP请求分发给下层真实HTTP代理。
[0010]所述的HTTP层中选用开源squid作为HTTP请求的代理服务。
[0011 ]本发明具有的优点和积极效果是:
本发明的基于虚浏览器下载的互联网大数据采集系统中,由顶至下,包括由虚浏览器层、负载均衡层和HTTP代理层。通过使用虚浏览器作为下载客户端,利用虚浏览器的网页渲染和脚本解析引擎,可以直接获取到JavaScript脚本在Dom上执行、渲染后的结果。即本系统的使用者无需关心网页上的数据生成方式,无论数据是由HTML源码本身携带,还是通过ajax异步灌入,抑或是通过js实时生成,均可通过统一的、高效的方式进行下载。负载均衡层中,LVS服务将下层的若干真实HTTP代理节点抽象出虚拟ip,当少量代理节点出现拒绝服务时,不会影响系统的对外服务,提高了系统的效率,保证了系统的鲁棒性。由于系统中的HTTP代理服务和虚浏览器处于同一子网,能够极大避免外部带宽开销和下载耗时开销。
【附图说明】
[0012]图1是本发明的基于虚浏览器下载的互联网大数据采集系统的架构示意图。
【具体实施方式】
[0013]以下通过具体实施例对本发明进行详细说明。
[0014]如图1所示,本发明的基于虚浏览器下载的互联网大数据采集系统,由顶至下,包括由虚浏览器层、负载均衡层和HTTP代理层;其中虚浏览器层为系统的顶层,由虚浏览器集群构成,发出HTTP请求;负载均衡层为系统的中间层,虚浏览器层通过负载均衡层连接HTTP代理层;HTTP代理层为系统的底层,依HTTP请求返回HTTP响应。
[0015]虚浏览器以开源浏览器内核为核心,保留网页解析模块、脚本引擎、视觉渲染模块等核心功能,去除包含界面显示模块、多媒体数据下载模块和访问记录存储模块在内的外围模块,提高虚浏览器的下载性能。在此基础上,本系统将若干虚浏览器实例通过任务队列机制,将其集群化,保证了系统的鲁棒性和高效性。
[00? 6] 虚浏览器中包括开源Chrome内核和PhantomJS。其中,Chrome内核负责进行一般性的网页下载和清染。而PhantomJS则是利用其支持用户定制JS脚本的功能,针对Chrome内核无法应对的目标网站(例如需登录的网站),进行个性化补充。
[0017]本系统使用虚浏览器作为下载客户端带来的直接好处就是,利用虚浏览器的网页清染和脚本解析引擎,可以直接获取到JavaScript脚本在Dom上执行、清染后的结果。也就是说,本系统的使用者无需关心网页上的数据生成方式。无论数据是由HTML源码本身携带,还是通过ajax异步灌入,抑或是通过js实时生成,均可通过统一的、高效的方式进行下载。
[0018]由于数据采集的任务量巨大,因此需要进行负载均衡,避免HTTP代理单节点压力过高。负载均衡集群起到代理中间层的作用,负载均衡层中使用LVS服务作为负载均衡,LVS服务向外暴露出一个虚拟ip,使虚浏览器集群连接该虚拟ip作为HTTP代理;同时,LVS将具体的HTTP请求分发给下层真实HTTP代理,LVS还同时对应有LVS备份,即LVS backup。
[0019]负载均衡层能够使上层虚浏览器在进行HTTP请求时,能够平衡利用HTTP代理资源,避免单节点压力过高导致的一系列问题。与此同时,LVS将下层的若干真实HTTP代理节点抽象出虚拟ip,当少量代理节点出现拒绝服务时,不会影响系统的对外服务,提高了系统的效率,保证了系统的鲁棒性。
[0020]HTTP层中选用开源squid作为HTTP请求的代理服务。squid具有量级轻、可移植、cache性能优越等特点。因此,系统将若干squid服务组成HTTP代理层,下挂在负载均衡层上。
[0021]系统使用HTTP代理,是为了利用其优越的缓存机制。在大数据采集中,难免会遇到同一 url被反复下载,这时,就需要利用到HTTP缓存。squid利用HTTP协议的LastModify时间戳来进行HTTP Cache优选和失效判断,并通过Hash三列对缓存数据进行存储。这一Cache过程相对于上层是透明的,上层仍然会正确的获取到完整的HTTP响应。由于系统中的HTTP代理服务和虚浏览器处于同一子网,能够极大避免外部带宽开销和下载耗时开销。
[0022]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例公开如上,然而,并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当然会利用揭示的技术内容作出些许更动或修饰,成为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明技术方案的范围内。
【主权项】
1.一种基于虚浏览器下载的互联网大数据采集系统,其特征在于:由顶至下,包括由虚浏览器层、负载均衡层和HTTP代理层;其中虚浏览器层为系统的顶层,由虚浏览器集群构成,发出HTTP请求;负载均衡层为系统的中间层,虚浏览器层通过负载均衡层连接HTTP代理层;HTTP代理层为系统的底层,依HTTP请求返回HTTP响应。2.根据权利要求1所述的基于虚浏览器下载的互联网大数据采集系统,其特征在于:虚浏览器以开源浏览器内核为核心,保留网页解析模块、脚本引擎、视觉渲染模块,去除包含界面显示模块、多媒体数据下载模块和访问记录存储模块在内的外围模块。3.根据权利要求1或2所述的基于虚浏览器下载的互联网大数据采集系统,其特征在于:虚浏览器中包括开源Chrome内核和PhantomJS。4.根据权利要求3所述的基于虚浏览器下载的互联网大数据采集系统,其特征在于:负载均衡层中使用LVS服务作为负载均衡,LVS服务向外暴露出一个虚拟ip,使虚浏览器集群连接该虚拟ip作为HTTP代理;同时,LVS将具体的HTTP请求分发给下层真实HTTP代理。5.根据权利要求3所述的基于虚浏览器下载的互联网大数据采集系统,其特征在于:HTTP层中选用开源squid作为HTTP请求的代理服务。
【专利摘要】一种基于虚浏览器下载的互联网大数据采集系统,由顶至下,包括由虚浏览器层、负载均衡层和HTTP代理层;其中虚浏览器层为系统的顶层,由虚浏览器集群构成,发出HTTP请求;负载均衡层为系统的中间层,虚浏览器层通过负载均衡层连接HTTP代理层;HTTP代理层为系统的底层,依HTTP请求返回HTTP响应。过使用虚浏览器作为下载客户端,利用虚浏览器的网页渲染和脚本解析引擎,可以直接获取到JavaScript脚本在Dom上执行、渲染后的结果。负载均衡层提高了系统的效率,保证了系统的鲁棒性。而由于系统中的HTTP代理服务和虚浏览器处于同一子网,能够极大避免外部带宽开销和下载耗时开销。
【IPC分类】H04L29/08
【公开号】CN105491131
【申请号】CN201510910412
【发明人】李天与, 杨伟锋
【申请人】天津海量信息技术有限公司
【公开日】2016年4月13日
【申请日】2015年12月10日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1