一种支持在线编程的爬虫抓取数据方法、装置及系统制造方法及图纸

技术编号:13835192 阅读:122 留言:0更新日期:2016-10-15 15:08
本发明专利技术实施例公开了一种支持在线编程的爬虫抓取数据方法、装置及系统,解决了目前将页面结构模板化的方案,虽然管理上更方便,但是模板功能太弱,不能够应对复杂的网络请求和页面结构,而且写模板的时候通常需要在本地不断调试正确后再发布到线上,再者对付带纯文本等无HTML结构的页面,导致的模板方式准确定位目标数据困难的技术问题。本发明专利技术实施例支持在线编程的爬虫抓取数据方法包括:将封装好的爬虫接口注入到预置的宿主环境中进行解析;将爬虫脚本的编写部分封装为基于宿主环境的可编辑模块;通过可编辑模块获取到在线编程后的脚本,并对脚本进行解析与执行;根据执行的脚本,通过爬虫接口抓取对应的网页数据。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种支持在线编程的爬虫抓取数据方法、装置及系统
技术介绍
随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,因此,网络爬虫应运而生,网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。在爬虫抓取大量网站数据中,通常每个网站的页面结构和技术方案都有所不同(比如有的网站利用Ajax+JSON技术渲染页面,有的是静态HTML),并且每个网站的文章随时可能会被编辑者更改页面结构(如添加广告,二维码等多余数据在文章)而导致写好的爬虫无法抓取正确的内容。通常WEB类的爬虫又都用程序语言写死,一经部署就不能随意变更,随时更改代码;目前业内的一些解决方案有:将页面结构模板化。虽然管理上更方便,但是模板功能太弱,不能够应对复杂的网络请求和页面结构,而且写模板的时候通常需要在本地不断调试正确后再发布到线上,再者对付带纯文本等无HTML结构的页面,模板方式准确定位目标数据很困难。
技术实现思路
本专利技术实施例提供的一种支持在线编程的爬虫抓取数据方法、装置及系统,解决了目前将页面结构模板化的方案,虽然管理上更方便,但是模板功
能太弱,不能够应对复杂的网络请求和页面结构,而且写模板的时候通常需要在本地不断调试正确后再发布到线上,再者对付带纯文本等无HTML结构的页面,导致的模板方式准确定位目标数据困难的技术问题。本专利技术实施例提供的一种支持在线编程的爬虫抓取数据方法,包括:将封装好的爬虫接口注入到预置的宿主环境中进行解析;将爬虫脚本的编写部分封装为基于所述宿主环境的可编辑模块;通过所述可编辑模块获取到在线编程后的脚本,并对所述脚本进行解析与执行;根据执行的所述脚本,通过所述爬虫接口抓取对应的网页数据。优选地,将封装好的爬虫接口注入到预置的宿主环境中进行解析之前还包括:向所述宿主环境对应的宿主语言进行所述爬虫接口的封装处理。优选地,将封装好的爬虫接口注入到预置的宿主环境中进行解析具体包括:将封装好的爬虫接口注入到所述宿主环境中的与所述宿主语言的脚本引擎进行解析。优选地,通过所述可编辑模块获取到在线编程后的脚本,并对所述脚本进行解析与执行之前还包括:将在线编程后的所述脚本通过所述可编辑模块加载并进行初次编译;对所述脚本的内容进行哈希运算,将脚本初次编译后的编译结果进行缓存。优选地,通过所述可编辑模块获取到在线编程后的脚本,并对所述脚本进行解析与执行具体包括:根据获取到的启动指令或预置启动时间启动在所述脚本引擎中的爬虫进程,并从缓存中调用所述编译结果;执行所述编译结果。本专利技术实施例提供的一种支持在线编程的爬虫抓取数据装置,包括:第一解析模块,用于将封装好的爬虫接口注入到预置的宿主环境中进行解析;第一封装模块,用于封装将爬虫脚本的编写部分封装为基于所述宿主环境的可编辑模块;第二解析模块,用于通过所述可编辑模块获取到在线编程后的脚本,并对所述脚本进行解析与执行;抓取模块,用于根据执行的所述脚本,通过所述爬虫接口抓取对应的网页数据。优选地,所述的支持在线编程的爬虫抓取数据装置还包括:第二封装模块,用于向所述宿主环境对应的宿主语言进行所述爬虫接口的封装处理。优选地,第一解析模块,具体用于将封装好的爬虫接口注入到所述宿主环境中的与所述宿主语言的脚本引擎进行解析。优选地,所述的支持在线编程的爬虫抓取数据装置还包括:编译模块,用于将在线编程后的所述脚本通过所述可编辑模块加载并进行初次编译;保存模块,用于对所述脚本的内容进行哈希运算,将脚本初次编译后的编译结果进行缓存。优选地,第二解析模块具体包括:调用子模块,用于根据获取到的启动指令或预置启动时间启动在所述脚本引擎中的爬虫进程,并从缓存中调用所述编译结果;执行子模块,用于执行所述编译结果。本专利技术实施例提供的一种支持在线编程的爬虫抓取数据系统,其特征在于,包括:浏览器客户端,以及本专利技术实施例中提及的任意一种所述的支持在线编程的爬虫抓取数据装置;所述支持在线编程的爬虫抓取数据装置与所述浏览器客户端通信连接;所述浏览器客户端,用于将在线编程的脚本内容发送给所述支持在线编程的爬虫抓取数据装置。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例提供的一种支持在线编程的爬虫抓取数据方法、装置及系
统,其中,支持在线编程的爬虫抓取数据方法包括:将封装好的爬虫接口注入到预置的宿主环境中进行解析;将爬虫脚本的编写部分封装为基于宿主环境的可编辑模块;通过可编辑模块获取到在线编程后的脚本,并对脚本进行解析与执行;根据执行的脚本,通过爬虫接口抓取对应的网页数据。本实施例中,通过将封装好的爬虫接口注入到预置的宿主环境中进行解析,再将爬虫脚本的编写部分封装为基于宿主环境的可编辑模块,然后通过可编辑模块获取到在线编程后的脚本,并对脚本进行解析与执行,最后根据执行的脚本,通过爬虫接口抓取对应的网页数据,实现了通过封装并形成的一套专门用于爬虫的脚本语言,简化抓取逻辑,能够支持动态添加抓取源,通过浏览器在线编写爬虫脚本,在线调试,解决了目前将页面结构模板化的方案,虽然管理上更方便,但是模板功能太弱,不能够应对复杂的网络请求和页面结构,而且写模板的时候通常需要在本地不断调试正确后再发布到线上,再者对付带纯文本等无HTML结构的页面,导致的模板方式准确定位目标数据困难的技术问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例提供的一种支持在线编程的爬虫抓取数据方法的一个实施例的流程示意图;图2为本专利技术实施例提供的一种支持在线编程的爬虫抓取数据方法的另一个实施例的流程示意图;图3为本专利技术实施例提供的一种支持在线编程的爬虫抓取数据装置的一个实施例的结构示意图;图4为本专利技术实施例提供的一种支持在线编程的爬虫抓取数据装置的另一个实施例的结构示意图;图5为本专利技术实施例提供的一种支持在线编程的爬虫抓取数据系统的一个实施例的结构示意图;图6为爬虫脚本执行工作原理图;图7为支持在线编程的爬虫抓取数据系统使用示意图;图8(a)和(b)为浏览器客户端界面示意图。具体实施方式本专利技术实施例提供的一种支持在线编程的爬虫抓取数据方法、装置及系统,解决了目前将页面结构模板化的方案,虽然管理上更方便,但是模板功能太弱本文档来自技高网
...

【技术保护点】
一种支持在线编程的爬虫抓取数据方法,其特征在于,包括:将封装好的爬虫接口注入到预置的宿主环境中进行解析;将爬虫脚本的编写部分封装为基于所述宿主环境的可编辑模块;通过所述可编辑模块获取到在线编程后的脚本,并对所述脚本进行解析与执行;根据执行的所述脚本,通过所述爬虫接口抓取对应的网页数据。

【技术特征摘要】
1.一种支持在线编程的爬虫抓取数据方法,其特征在于,包括:将封装好的爬虫接口注入到预置的宿主环境中进行解析;将爬虫脚本的编写部分封装为基于所述宿主环境的可编辑模块;通过所述可编辑模块获取到在线编程后的脚本,并对所述脚本进行解析与执行;根据执行的所述脚本,通过所述爬虫接口抓取对应的网页数据。2.根据权利要求1所述的支持在线编程的爬虫抓取数据方法,其特征在于,将封装好的爬虫接口注入到预置的宿主环境中进行解析之前还包括:向所述宿主环境对应的宿主语言进行所述爬虫接口的封装处理。3.根据权利要求2所述的支持在线编程的爬虫抓取数据方法,其特征在于,将封装好的爬虫接口注入到预置的宿主环境中进行解析具体包括:将封装好的爬虫接口注入到所述宿主环境中的与所述宿主语言的脚本引擎进行解析。4.根据权利要求3所述的支持在线编程的爬虫抓取数据方法,其特征在于,通过所述可编辑模块获取到在线编程后的脚本,并对所述脚本进行解析与执行之前还包括:将在线编程后的所述脚本通过所述可编辑模块加载并进行初次编译;对所述脚本的内容进行哈希运算,将脚本初次编译后的编译结果进行缓存。5.根据权利要求4所述的支持在线编程的爬虫抓取数据方法,其特征在于,通过所述可编辑模块获取到在线编程后的脚本,并对所述脚本进行解析与执行具体包括:根据获取到的启动指令或预置启动时间启动在所述脚本引擎中的爬虫进程,并从缓存中调用所述编译结果;执行所述编译结果。6.一种支持在线编程的爬虫抓取数据装置,其特征在于,包括:第一解析模块,用于将封装好的爬虫接口注入到预置的宿主环境中进行解析;第一封装模块,用于封装将爬虫...

【专利技术属性】
技术研发人员:覃炜
申请(专利权)人:广州华多网络科技有限公司
类型:发明
国别省市:广东;44

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

1