【技术实现步骤摘要】
一种基于浏览器插件的分布式网络爬虫方法及系统
一种基于浏览器插件的分布式网络爬虫方法及系统,用于基于浏览器插件的分布式网络爬虫,属于网络爬虫
技术介绍
网络爬虫是指一种按照一定的规则,自动地抓取互联网网页的程序或者脚本。静态网页是指由HTML+CSS构成,HTML代码中包含所有网页信息。动态网页是指由HTML+CSS+JS构成,需要执行JSAjax请求,完成数据加载渲染,才能获取所有同页信息。专利技术名称为:一种基于浏览器内核的网络爬虫系统,申请号为201611005039.8的案件,是基于浏览器内核的网络爬虫系统,包括浏览器引擎模块、网络通信模块、策略模块,用于进行页面分析并发现其他页面的URL。本专利技术使用动态分析技术,通过内置的浏览器内核,去动态的加载页面依赖的资源,并执行Javascript脚本,对DOM节点进行动态的操作如模拟鼠标点击、双击、回车等事件,以发现新的页面,弥补了传统爬虫的不足。本申请的优点是,不需要实现模拟器来渲染动态网页。缺点是,(1)需要修改浏览器内核代码,对开发人员要求高,开发速度慢成本高;(2)单机爬虫,抓取速度慢。专利 ...
【技术保护点】
1.一种基于浏览器插件的分布式网络爬虫方法,其特征在于:步骤1、多个浏览器插件同时发起请求,调用抓取网页URL的接口,获取各URL;步骤2、获取各URL后,通过对应的浏览器插件调用浏览器加载网页信息,得到各网页最终源代码;步骤3、根据各网页最终源代码,得到各当前网页包含的所有待抓取URL;步骤4、解析出各网页最终源代码保存至网页信息数据库、并解析各出当前网页包含的所有待抓取URL中新增的待抓取URL保存至待抓取网页队列。
【技术特征摘要】
1.一种基于浏览器插件的分布式网络爬虫方法,其特征在于:步骤1、多个浏览器插件同时发起请求,调用抓取网页URL的接口,获取各URL;步骤2、获取各URL后,通过对应的浏览器插件调用浏览器加载网页信息,得到各网页最终源代码;步骤3、根据各网页最终源代码,得到各当前网页包含的所有待抓取URL;步骤4、解析出各网页最终源代码保存至网页信息数据库、并解析各出当前网页包含的所有待抓取URL中新增的待抓取URL保存至待抓取网页队列。2.根据权利要求1所述的一种基于浏览器插件的分布式网络爬虫方法,其特征在于:所述步骤1的具体步骤为:步骤1.1、多个浏览器插件同时发起HTTP请求,调用抓取网页URL的接口;步骤1.2、接收端收到各浏览器插件的HTTP请求,根据每个HTTP请求的先后顺序从待抓取网页队列中取出一个URL,如果待抓取队列不为空,则根据先进先出的原则,取出URL返回给浏览器插件,如果为空,则返回空;步骤1.3、若浏览器插件接收到的结果不为空,执行步骤2,否则等待0-5秒后,跳转至步骤1.1轮询获取待抓取网页URL。3.根据权利要求1或2所述的一种基于浏览器插件的分布式网络爬虫方法,其特征在于:所述步骤2的具体步骤为:步骤2.1、接收到返回的URL的浏览器插件根据URL调用浏览器发起加载网页初始源代码的网络请求;步骤2.2、浏览器获取网页初始源代码后,执行网页初始源代码中的HTML、CSS、JS代码,得到网页中间源代码;步骤2.3、浏览器执行网页中间源代码中的动态JS代码,发起Ajax请求,获取网页数据:步骤2.4、浏览器获取网页数据后,根据网页中间源代码中的JS代码逻辑,将网页数据插入到网页中间源代码中后,渲染得到各网页最终源代码。4.根据权利要求3所述的一种基于浏览器插件的分布式网络爬虫方法,其特征在于:所述步骤3的具体步骤为:步骤3.1、若浏览器渲染得到网页最终源代码,则触发加载网页信息完成事件;步骤3.2、浏览器插件监听到浏览器加载网页信息完成事件,浏览器插件通过调用浏览器获取网页源代码接口,得到各网页最终源代码;步骤3.3、根据各网页最终源代码得到所对应的各当前网页包含的所有待抓取URL。5.根据权利要求4所述的一种基于浏览器插件的分布式网络爬虫方法,其特征在于:所述步骤4的具体步骤为:步骤4.1、解析出各网页最终源代码,保存至网页信息数据库,完成当前网页抓取;步骤4.2、解析出各当前网页包含的所有待抓取URL,去掉之前已出现过的网页URL,将新增的待抓取URL保存至待抓取网页队列。6.一种基于浏览器插件的分布式网络爬虫系统,其特征在于:包括多个浏览器插件客户端和一...
【专利技术属性】
技术研发人员:张友书,陈思成,
申请(专利权)人:四川新网银行股份有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。