CN105243159B - 一种基于可视化脚本编辑器的分布式网络爬虫系统 - Google Patents
一种基于可视化脚本编辑器的分布式网络爬虫系统 Download PDFInfo
- Publication number
- CN105243159B CN105243159B CN201510713985.7A CN201510713985A CN105243159B CN 105243159 B CN105243159 B CN 105243159B CN 201510713985 A CN201510713985 A CN 201510713985A CN 105243159 B CN105243159 B CN 105243159B
- Authority
- CN
- China
- Prior art keywords
- queue
- script
- module
- editing machine
- url link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012800 visualization Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000000605 extraction Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 7
- 238000002224 dissection Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 230000005856 abnormality Effects 0.000 claims description 3
- 230000007257 malfunction Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000013481 data capture Methods 0.000 claims description 2
- 239000004744 fabric Substances 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000013075 data extraction Methods 0.000 abstract description 2
- 238000012546 transfer Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 208000032170 Congenital Abnormalities Diseases 0.000 description 1
- 241000270322 Lepidosauria Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007698 birth defect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种基于可视化脚本编辑器的分布式网络爬虫系统,包括:可视化脚本编辑器、分布式消息队列、任务调度模块、网页抓取模块、内容处理模块、以及结果存储模块;根据用户通过可视化界面进行输入,系统自动生成元数据提取脚本,可以识别目标站点的结构,高效的抓取特定的数据,由任务调度模块创建分派任务,网页抓取模块负责抓取页面,内容处理模块调取对应脚本将页面转换为元数据集,最后统一处理,通过结果存储模块进行存储。本发明能够大幅提高针对特定站点数据的爬取效率,减少用户劳动强度,节省系统资源,并拥有良好的可扩展性和伸缩性,适用于所有类型的互联网站点。
Description
技术领域
本发明涉及网络通讯技术领域,尤其涉及一种基于可视化脚本编辑器的分布式网络爬虫系统。
背景技术
自互联网诞生至20世纪末,互联网信息得到了爆炸性地增长,已然成为一个巨大的,分布广泛的,高度异构的,半结构化的,且动态性高的信息图书馆。为了从互联网信息中收集提取人们感兴趣的数据,网络爬虫就此诞生。自此,爬虫技术便一发不可收拾,以其为基石催生了百度、谷歌等国内外的搜索引擎巨头,给世人打开了一扇信息的窗口。
当今,互联网信息的主要由网站和WEB服务形式提供的。网站由各式各样的网页组成,提供的数据基本上以非结构化的静态的超文本链接标示语言(HTML,Hypertext MarkupLanguage)的呈现。由于信息分析系统无法直接使用HTML,往往需要对其进行二次处理才能提取出有用的信息。WEB服务则是相对规范的数据接口,通过特定参数访问即可获取数据,WEB服务可以独立存在,也可与网站结合。如何高效准确的从大量特定的网站或WEB服务中获取特定的信息越来越被人们所关注。这使得负责网络信息采集的网络爬虫技术面临了巨大的挑战。
网络爬虫虽然经历多代发展,已经基本形成的多种系统模型。国内外对爬虫的设计已经有了很成熟的解决方案,并已投入使用,但是那些解决方案大多只给大众用户提供一种通用的服务,不可针对特定站点特定数据进行制定的,无法考虑到各个用户的各式各样的需求。
在互联网领域,目前有如下几种主流的爬虫设计:
1.传统爬虫系统
传统爬虫系统,需要专业的软件编程人员通过分析目标站点的网页组织形式,数据接口以及页面上Javascript逻辑代码,编写出相应的程序代码或脚本,来实现根据某种规则过滤出特定的数据。很明显,这种方法的优点是能够准确的从目标站点中提取所需的数据。
但是这种方法有很大的缺陷,一般只在目标站点数量十分有限的情况下才会采用。原因是,互联网网站使用的HMTL语言并没有固定的编写规范,需要对所有目标站点编写对应的脚本,再加上有当今越来越多的网站采用动态加载方式,编写难度大大提高。当监控网站的改版时,需要及时调整脚本,并重新部署爬虫。这极大的提高了开发与维护中的人力成本。除此之外,这种模式由于其复杂性,导致扩展性与伸缩性不佳,不利于大规模分布式部署。
2.通用分布式爬虫系统
通用分布式爬虫系统,主要结构为调度(控制),抓取和内容处理三大基础部分组成。当前大部分互联网搜索引擎都是这种方式。如:现有技术中公开了一种“主题相关的分布式网络爬虫系统,”,见公开号为:CN102646129A,公开日为:2012-08-22的中国专利,该系统包括:主题链接存储器,用于存放系统未完成抓取的超链接;控制节点,用于从主题链接存储器中提取超链接,去除其中已经被系统抓取过的超链接,然后将未被系统抓取过的超链接分配给爬行节点,并控制是否终止系统运行;爬行节点,用于接收控制节点分配的超链接,然后下载超链接标识的网页,并且将网页存储在网页数据库中;网页数据库,用于存放爬行节点抓取的网页;网页分析器,用于定期从网页数据库中读取爬行节点下载的最新网页,对网页进行内容分析,计算网页及网页内所含超链接的主题相关度,然后根据主题相关度将相关的超链接存放到主题链接存储器中,将每个网页的主题相关度存于网页数据库中。该发明就是采用此种模式。这种类型的爬虫系统主要将重点放在了URL过滤与网页主题的分析上,内容处理部分基本都是使用正文分析提取模块。
正文分析模块大致可以分为:1.基于标签用途的正文提取算法2.基于标签密度判定3.基于机器学习的网页正文抽取方法4.基于视觉网页块分析技术的正文抽取。但是不管采用何种算法,其只能用于网页正文等主干数据的提取并且无法保证提取数据的准确度。这些发明方法可以较好的用于分布式爬虫系统,但局限于依赖的算法,只适用于横向大范围的模糊数据爬取,对于特定数据的爬取具有先天缺陷。因为其为了获得最大的通用性,牺牲了定制化能力,只能从网页中提取正文信息,却无法从正文中分离出特定类型的元数据。举例如电商网站页面中的商品价格,网络药店页面中的药品规格。其次,大部分正文分析算法相对复杂,大量使用时对比定制化的脚本会消耗更多的系统资源,导致爬虫系统性能下降。
发明内容
本发明要解决的技术问题,在于提供一种基于可视化脚本编辑器的分布式网络爬虫系统,能够实现对大量特定站点进行高效定制化爬取同时兼容通用站点的爬取,解决了现有技术存在的缺陷;减少用户劳动强度,节省系统资源。
本发明是这样实现的:一种基于可视化脚本编辑器的分布式网络爬虫系统,所述系统包括:可视化脚本编辑器、分布式消息队列、任务调度模块、网页抓取模块、内容处理模块、以及结果存储模块;
所述可视化脚本编辑器,用于查看目标网站,并选择目标网站数据抓取区域;将用户的输入转化成一条执行链,同时根据执行链生成对应的脚本并存入一数据库;该脚本即为目标网站对应的脚本;
所述分布式消息队列,用于将任务调度模块,网页抓取模块,内容处理模块和结果存储模块进行解耦,该分布式消息队列包括调度队列、抓取队列、处理队列、以及结果队列;
所述任务调度模块,用于负责协调整个系统的运作,读入目标网站起始URL链接与用户输入信息打包成任务后传入所述调度队列,并从调度队列里取得任务对象,并过滤重复任务后发送至所述抓取队列;
所述网页抓取模块,用于从抓取队列获取到URL链接,自动解析网站编码,并将抓取的网站的内容转换成UTF-8编码,将该UTF-8编码的内容与网站相关信息打包后转发送到处理队列;
所述内容处理模块,用于从所述处理队列获取到网站的网页内容,使用可视化脚本编辑器生成的URL匹配规则匹配此网页的URL链接,若找到匹配则调用此URL匹配规则对应的脚本对此网页内容进行解析;将解析后的结果传入结果队列中;
所述结果存储模块,用于从结果队列中取出结果数据,并将结果数据根据系统预定义的配置进行统一处理筛选,然后存入数据库。
进一步地,所述系统还包括监控模块,所述监控模块实时监控分布式消息队列中的调度队列,抓取队列,处理队列,结果队列四个队列是否出错,当发现异常时,及时推送消息至系统的用户界面,提醒用户检查出错原因以及是否重新进行脚本输入。
进一步地,所述系统还包括正文提取模块,当网页的域名匹配不到与所述数据库中的脚本时,调用所述正文提取模块,来进行提取网页相应的脚本,所述正文提取模块使用基于视觉网页块分析技术的正文抽取方式进行提取。
进一步地,所述调用此脚本进行解析;如果解析处理后生成的是新的URL链接,则将新的URL链接传入所述调度队列,重新执行任务调度模块;如果解析处理后是结果数据,则将解析后的结果数据传入结果队列中。
进一步地,所述任务调度模块包括URL过滤模块和速率管理器,所述URL过滤模块,使用布隆过滤器对URL链接进行去重,防止重复爬取同一URL链接,布隆过滤器是由一个二进制向量和一系列随机映射函数组成,用于检索一个元素是否在一个集合中;所述速率管理器,采用令牌桶算法防止网络拥塞,限制流出网络的流量,使流量以均匀的速度向外发送,保证系统的稳定性。
进一步地,所述网页抓取模块包括:代理访问模块和浏览器模拟模块,所述代理访问模块,根据用户配置信息对指定的URL链接使用预设的IP代理进行访问,防止所述网页抓取模块所在服务器IP因为访问量过大被目标网站封锁,所述浏览器模拟模块,使用WebKit开源浏览器引擎来解析目标网站,能够执行页面上的Javascript代码,生成目标网站的完整页面。
进一步地,所述执行链包含若干个子参数,子参数有多种选择,子参数的选择包括:下层URL链接选取规则,元数据选择标识或者系统可执行的脚本代码。
进一步地,所述可视化脚本编辑器具体实现流程如下:
步骤1、在可视化脚本编辑器界面上输入目标网站URL链接地址;
步骤2、可视化脚本编辑器呈现目标网站URL链接网页内容,
步骤3、如果不需要进入此网页的下层的URL链接,则进入步骤5,如果需要进入下层URL链接则进入步骤4;
步骤4、选择下层URL链接的区块,可视化脚本编辑器将记录这些区块的位置,并存入一执行链,所有位置信息均以CSS或XPATH语法的形式组成,返回步骤3;
步骤5、选择若干个需要抓取内容的区块,存入一执行链,
步骤6、用户确认编辑工作完成,
步骤7、可视化脚本编辑器将记录下来的执行链传入脚本生成器,生产对应目标网站的抓取脚本,同时针对高级用户,提供额外接口,用户能通过编写兼容系统的代码,直接嵌入所述抓取脚本之中;
步骤8、将脚本存入数据库。
本发明具有如下优点:本系统的可视化脚本编辑器,可以使非专业用户直观的选择目标站点相关数据的抓取区域,将用户的操作自动转化生成为特定的处理脚本,由爬虫系统中的各分布式处理器单元在运行中对这些处理脚本动态择优执行,极大的降低了定制化爬虫所需的人力成本,同时提高了爬虫系统的运行效率。该系统抓取数据的准确率高,且具有极高的可扩展性和伸缩性。
附图说明
图1为本发明系统的结构示意图。
图2为本发明系统的工作流程图。
图3为本发明可视化脚本编辑器执行结构示意图。
图4为本发明可视化脚本编辑器工作流程示意图。
图5为本发明执行链运作方式的流程图。
图6为本发明内容处理模块和脚本的工作流程图。
图7为本发明系统一实施例的结构示意图。
具体实施方式
请参阅图1至图7所示,本发明的一种基于可视化脚本编辑器的分布式网络爬虫系统,所述系统包括:可视化脚本编辑器、分布式消息队列、任务调度模块、网页抓取模块、内容处理模块、以及结果存储模块;
所述可视化脚本编辑器,用于可视化查看目标网站内容,选择目标网站的数据抓取区域;其将用户的输入(从输入目标站点URL链接开始,到最终完成编辑中的所有用户操作产生的输入)转化成一条执行链与其他非必要参数(例如是否使用正文提取,是否模拟浏览器等等),同时根据执行链生成对应的脚本并存入一数据库;该可视化脚本编辑器使得用户无需具备编程技能,可以像正常浏览网页一般查看目标网站。该脚本即为目标网站对应的脚本;
配置管理模块,提供WEB界面,用户可以在这里配置需要爬取的网站,以及针对一个或一系列网站配置调度策略(如:优先级,定时爬取,重爬间隔等等),抓取策略(出错重试,启用代理,启用游览器模拟等等)与其他配置参数,形成用户配置信息。
所述分布式消息队列,用于将任务调度模块,网页抓取模块,内容处理模块和结果存储模块进行解耦,实现了极高的分布式部署能力。该分布式消息队列包括调度队列、抓取队列、处理队列、以及结果队列;
所述任务调度模块,用于负责协调整个系统的运作,读入目标网站(该目标网站即为要进行处理判断的网站)起始URL链接与用户输入信息打包成任务后传入所述调度队列,并从调度队列里取得任务对象,并过滤重复任务后发送至所述抓取队列;所述任务调度模块包括URL过滤模块和速率管理器,所述URL过滤模块,使用布隆过滤器对URL链接进行去重,防止重复爬取同一URL链接,布隆过滤器实际上是由一个很长的二进制向量和一系列随机映射函数组成,用于检索一个元素是否在一个集合中;它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。使用布隆过滤器能极大的提高系统效率,而它的缺点完全不会对爬虫系统产生影响,十分适合爬虫系统使用。所述速率管理器,采用令牌桶算法防止网络拥塞,限制流出网络的流量,使流量以均匀的速度向外发送,保证系统的稳定性。
所述网页抓取模块,用于从抓取队列获取到URL链接,自动解析网站编码,并将抓取的网站的内容转换成UTF-8编码,将该UTF-8编码的内容与网站相关信息打包后转发送到处理队列;所述网页抓取模块包括:代理访问模块和浏览器模拟模块,所述代理访问模块,随着网络技术的发展,如今越来越多的网站采用动态页面技术,使用了大量的Javascript脚本来生成网页内容,而传统模式的网页抓取只能获取页面的源代码,无法执行Javascript脚本,导致无法获取目标站点的完整页面,数据提取的困难倍增。本发明的代理访问模块能根据用户配置信息对指定的URL链接使用预设的IP代理进行访问,防止所述网页抓取模块所在服务器IP因为访问量过大被目标网站封锁,所述浏览器模拟模块,使用WebKit开源浏览器引擎来解析目标网站,能够执行页面上的Javascript代码,生成目标网站的完整页面。
所述内容处理模块,用于从所述处理队列获取到网站的网页内容,若此网页的URL链接与预先定义的URL匹配规则相匹配(用户预先在可视化脚本编辑器输入的目标站点URL链接,由可视化编辑器根据用户设置的条件智能生成一个URL匹配规则),则调用匹配此URL链接的脚本对网站的网页内容进行解析;将解析后的结果传入结果队列中;所述结果存储模块,用于从结果队列中取出结果数据,并将结果数据根据系统预定义的配置进行统一处理筛选,然后存入数据库。
其中,所述系统还包括监控模块和正文提取模块,所述监控模块实时监控分布式消息队列中的调度队列,抓取队列,处理队列,结果队列四个队列是否出错,当发现异常时,及时推送消息至系统的用户界面,提醒用户检查出错原因以及是否重新进行脚本输入。
当网页的域名匹配不到与所述数据库中的脚本时,调用所述正文提取模块,来进行提取网页相应的脚本,所述正文提取模块使用基于视觉网页块分析技术的正文抽取方式进行提取。
在本发明中,所述调用此脚本进行解析;如果解析处理后生成的是新的URL链接,则将新的URL链接传入所述调度队列,重新执行任务调度模块;如果解析处理后是结果数据,则将解析后的结果数据传入结果队列中。
所述执行链包含若干个子参数,子参数有多种选择,子参数的选择包括:下层URL链接选取规则,元数据选择标识(格式如CSS,XPATH选择器)或者系统可执行的脚本代码。
如图3、4、5所示,所述可视化脚本编辑器具体实现流程如下:
步骤1、在可视化脚本编辑器界面上输入目标网站URL链接地址;
步骤2、可视化脚本编辑器呈现目标网站URL链接网页内容,
步骤3、如果不需要进入此网页的下层的URL链接,则进入步骤5,如果需要进入下层URL链接则进入步骤4;
步骤4、选择下层URL链接的区块,可视化脚本编辑器将记录这些区块的位置,并存入一执行链,(可视化脚本编辑器将记录这些区块的位置,并存入一执行链具体操作可以参见图5)所有位置信息均以CSS或XPATH语法的形式组成,返回步骤3;
步骤5、选择若干个需要抓取内容的区块,存入一执行链,
步骤6、用户确认编辑工作完成,
步骤7、可视化脚本编辑器将记录下来的执行链传入脚本生成器,生产对应目标网站的抓取脚本,同时针对高级用户,提供额外接口,用户能通过编写兼容系统的代码,直接嵌入所述抓取脚本之中;
步骤8、将脚本存入数据库。
如图2为本发明系统的工作流程图,具体如下:
(1)任务调度模块访问配置管理模块,读入起始URL链接与用户配置信息打包成任务后传入调度队列。
(2)任务调度模块从调度队列里取得任务对象,询问URL过滤模块,如果没有访问过此任务的URL链接,则直接发送至抓取队列。如果访问过了,则检测用户设置的参数(回访时间等等),如果允许重新访问,也发送至抓取队列,否则抛弃此任务。最后将滤重后的任务发送至抓取队列。
(3)网页抓取模块从抓取队列获取到URL链接,执行抓取操作,自动解析网站编码,并将抓取的内容换成通用的UTF-8编码与站点相关信息打包转发送到处理队列。
(4)内容处理模块从处理队列获取到网页内容。如果此网页的域名等信息匹配到了用户预先定义好的脚本(即数据库中的脚本),则调用此脚本进行解析。如果处理后生成的是新的URL链接,那这些链接将传入调度队列,重新进入步骤(2)如果是结果数据,则传入结果队列。
(5)结果存储模块从结果队列中取出结果,做根据预定义配置,做最终的统一处理,再存入数据库。
(6)重复(2)~(5)直到接收到系统停止命令。
如图7为本发明系统一实施例的结构示意图。该本发明的的各个模块均能以单机多实例、多机单实例、多机多实例方式部署。即本发明的系统可以分布式部署。
另外,本系统所发送至消息队列的数据对象统一称为任务对象,一个任务对象包含:①内容(URL链接,网页内容或结果数据等等,根据消息队列的不同而变化);②配置参数;③状态标识;
实际上从消息队列中都是先取出任务对象,再从任务对象中取出相关信息。
这里需要说明的是:本发明中任务调度模块、网页抓取模块、内容处理模块、以及结果存储模块均可以在多台服务器上启动多个实例,它们通过消息队列实现解耦,可以随时停止或增加任意类型的实例。此种设计可以在最大程度的提升系统的扩展性和伸缩性。
总之,本发明根据用户通过可视化界面进行输入,系统自动生成元数据提取脚本,可以识别目标站点的结构,高效的抓取特定的数据,由任务调度模块创建分派任务,网页抓取模块负责抓取页面,内容处理模块调取对应脚本将页面转换为元数据集,最后统一处理,通过结果存储模块进行存储。本发明能够大幅提高针对特定站点数据的爬取效率,减少用户劳动强度,节省系统资源,并拥有良好的可扩展性和伸缩性,适用于所有类型的互联网站点。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (6)
1.一种基于可视化脚本编辑器的分布式网络爬虫系统,其特征在于:所述系统包括:可视化脚本编辑器、分布式消息队列、任务调度模块、网页抓取模块、内容处理模块、以及结果存储模块;
所述可视化脚本编辑器,用于查看目标网站,并选择目标网站数据抓取区域;将用户的输入转化成一条执行链,同时根据执行链生成对应的脚本并存入一数据库;该脚本即为目标网站对应的脚本;
所述分布式消息队列,用于将任务调度模块,网页抓取模块,内容处理模块和结果存储模块进行解耦,该分布式消息队列包括调度队列、抓取队列、处理队列、以及结果队列;
所述任务调度模块,用于负责协调整个系统的运作,读入目标网站起始URL链接与用户输入信息打包成任务后传入所述调度队列,并从调度队列里取得任务对象,并过滤重复任务后发送至所述抓取队列;
所述网页抓取模块,用于从抓取队列获取到URL链接,自动解析网站编码,并将抓取的网站的内容转换成UTF-8编码,将该UTF-8编码的内容与网站相关信息打包后转发送到处理队列;
所述内容处理模块,用于从所述处理队列获取到网站的网页内容,若此网页的URL链接与预先定义的URL匹配规则相匹配,则调用匹配此URL匹配规则对应的脚本对网站的网页内容进行解析;将解析后的结果传入结果队列中;
所述结果存储模块,用于从结果队列中取出结果数据,并将结果数据根据系统预定义的配置进行统一处理筛选,然后存入数据库;
所述系统还包括监控模块,所述监控模块实时监控分布式消息队列中的调度队列,抓取队列,处理队列,结果队列四个队列是否出错,当发现异常时,及时推送消息至系统的用户界面,提醒用户检查出错原因以及是否重新进行脚本输入;
所述系统还包括正文提取模块,当网页的域名匹配不到与所述数据库中的脚本时,调用所述正文提取模块,来进行提取网页相应的脚本,所述正文提取模块使用基于视觉网页块分析技术的正文抽取方式进行提取。
2.根据权利要求1所述的一种基于可视化脚本编辑器的分布式网络爬虫系统,其特征在于:如果解析处理后生成的是新的URL链接,则将新的URL链接传入所述调度队列,重新执行任务调度模块;如果解析处理后是结果数据,则将解析后的结果数据传入结果队列中。
3.根据权利要求1所述的一种基于可视化脚本编辑器的分布式网络爬虫系统,其特征在于:所述任务调度模块包括URL过滤模块和速率管理器,所述URL过滤模块,使用布隆过滤器对URL链接进行去重,防止重复爬取同一URL链接,布隆过滤器是由一个二进制向量和一系列随机映射函数组成,用于检索一个元素是否在一个集合中;所述速率管理器,采用令牌桶算法防止网络拥塞,限制流出网络的流量,使流量以均匀的速度向外发送,保证系统的稳定性。
4.根据权利要求1所述的一种基于可视化脚本编辑器的分布式网络爬虫系统,其特征在于:所述网页抓取模块包括:代理访问模块和浏览器模拟模块,所述代理访问模块,根据用户配置信息对指定的URL链接使用预设的IP代理进行访问,防止所述网页抓取模块所在服务器IP因为访问量过大被目标网站封锁,所述浏览器模拟模块,使用WebKit开源浏览器引擎来解析目标网站,能够执行页面上的Javascript代码,生成目标网站的完整页面。
5.根据权利要求1所述的一种基于可视化脚本编辑器的分布式网络爬虫系统,其特征在于:所述执行链包含若干个子参数,子参数有多种选择,子参数的选择包括:下层URL链接选取规则,元数据选择标识或者系统可执行的脚本代码。
6.根据权利要求1所述的一种基于可视化脚本编辑器的分布式网络爬虫系统,其特征在于:所述可视化脚本编辑器具体实现流程如下:
步骤1、在可视化脚本编辑器界面上输入目标网站URL链接地址;
步骤2、可视化脚本编辑器呈现目标网站URL链接网页内容,
步骤3、如果不需要进入此网页的下层的URL链接,则进入步骤5,如果需要进入下层URL链接则进入步骤4;
步骤4、选择下层URL链接的区块,可视化脚本编辑器将记录这些区块的位置,并存入一执行链,所有位置信息均以CSS或XPATH语法的形式组成,返回步骤3;
步骤5、选择若干个需要抓取内容的区块,存入一执行链,
步骤6、用户确认编辑工作完成,
步骤7、可视化脚本编辑器将记录下来的执行链传入脚本生成器,生产对应目标网站的抓取脚本,同时针对高级用户,提供额外接口,用户能通过编写兼容系统的代码,直接嵌入所述抓取脚本之中;
步骤8、将脚本存入数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510713985.7A CN105243159B (zh) | 2015-10-28 | 2015-10-28 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510713985.7A CN105243159B (zh) | 2015-10-28 | 2015-10-28 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105243159A CN105243159A (zh) | 2016-01-13 |
CN105243159B true CN105243159B (zh) | 2019-06-25 |
Family
ID=55040807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510713985.7A Active CN105243159B (zh) | 2015-10-28 | 2015-10-28 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105243159B (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3340097B1 (en) * | 2015-11-02 | 2019-08-07 | Nippon Telegraph And Telephone Corporation | Analysis device, analysis method, and analysis program |
CN107180050A (zh) * | 2016-03-11 | 2017-09-19 | 精硕科技(北京)股份有限公司 | 一种数据抓取系统及方法 |
CN106886547A (zh) * | 2016-07-13 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种脚本生成方法与装置 |
CN106168985A (zh) * | 2016-08-26 | 2016-11-30 | 南京车易淘网络信息技术有限公司 | 一种可快速分布式部署的爬虫方法 |
CN108228614B (zh) * | 2016-12-14 | 2022-03-18 | 北京国双科技有限公司 | 检测网页断链的方法及装置 |
CN106933973A (zh) * | 2017-02-14 | 2017-07-07 | 广州优亿信息科技有限公司 | 一种可视化网络爬虫方法 |
CN106980687B (zh) * | 2017-03-31 | 2020-05-22 | 北京奇艺世纪科技有限公司 | 一种资源下载系统、方法及爬虫下载系统 |
CN107103242B (zh) * | 2017-05-11 | 2020-07-17 | 北京安赛创想科技有限公司 | 数据的获取方法及装置 |
CN107317724B (zh) * | 2017-06-06 | 2020-12-11 | 中证信用增进股份有限公司 | 基于云计算技术的数据采集系统及方法 |
CN110020066B (zh) * | 2017-07-31 | 2021-09-07 | 北京国双科技有限公司 | 一种往爬虫平台注任务的方法及装置 |
CN107870965A (zh) * | 2017-08-11 | 2018-04-03 | 成都萌想科技有限责任公司 | 一种可视化数据采集系统 |
CN107577788B (zh) * | 2017-09-15 | 2021-12-31 | 广东技术师范大学 | 一种自动结构化数据的电商网站主题爬虫方法 |
CN108108440A (zh) * | 2017-12-21 | 2018-06-01 | 北京慧数科技有限公司 | 代理服务器及互联网数据的采集方法 |
CN108549678B (zh) * | 2018-04-02 | 2020-06-19 | 北京今朝在线科技有限公司 | 信息采集系统 |
CN109285046A (zh) * | 2018-08-10 | 2019-01-29 | 浙江工业大学 | 一种基于业务插件化的电商大数据采集系统 |
CN108875091B (zh) * | 2018-08-14 | 2020-06-02 | 杭州费尔斯通科技有限公司 | 一种统一管理的分布式网络爬虫系统 |
CN109101636A (zh) * | 2018-08-16 | 2018-12-28 | 成都市映潮科技股份有限公司 | 一种通过可视化配置进行云端数据采集的方法、装置及系统 |
CN109284430A (zh) * | 2018-09-07 | 2019-01-29 | 杭州艾塔科技有限公司 | 基于分布式架构的可视化主题网页内容爬取系统及方法 |
CN109522466B (zh) * | 2018-10-20 | 2023-04-07 | 河南工程学院 | 一种分布式爬虫系统 |
CN109783715A (zh) * | 2019-01-08 | 2019-05-21 | 鑫涌算力信息科技(上海)有限公司 | 网络爬虫系统及方法 |
CN109614539A (zh) * | 2019-01-16 | 2019-04-12 | 重庆金融资产交易所有限责任公司 | 数据抓取方法、装置及计算机可读存储介质 |
CN109948026A (zh) * | 2019-03-28 | 2019-06-28 | 深信服科技股份有限公司 | 一种网页数据爬取方法、装置、设备及介质 |
CN110807137A (zh) * | 2019-04-11 | 2020-02-18 | 上海丛云信息科技有限公司 | 一种分布式大数据采集实现方法 |
CN110020062B (zh) * | 2019-04-12 | 2021-09-24 | 北京邮电大学 | 一种可定制的网络爬虫方法及系统 |
CN110297962B (zh) * | 2019-06-28 | 2021-08-24 | 北京金山安全软件有限公司 | 网站资源的爬取方法、装置、系统和计算机设备 |
CN110457556B (zh) * | 2019-07-04 | 2023-11-14 | 重庆金融资产交易所有限责任公司 | 分布式爬虫系统架构、爬取数据的方法和计算机设备 |
CN110413276B (zh) * | 2019-07-31 | 2024-04-09 | 网易(杭州)网络有限公司 | 参数编辑方法及装置、电子设备、存储介质 |
CN110851681B (zh) * | 2019-10-12 | 2024-07-09 | 平安科技(深圳)有限公司 | 爬虫处理方法、装置、服务器及计算机可读存储介质 |
CN112783615B (zh) * | 2019-11-08 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 一种数据处理任务的清理方法和装置 |
CN111045659A (zh) * | 2019-11-11 | 2020-04-21 | 国家计算机网络与信息安全管理中心 | 采集互联网金融网页的项目列表的方法及系统 |
CN111178057B (zh) * | 2020-01-02 | 2024-01-30 | 大汉软件股份有限公司 | 一种政务电子文档的内容分析提取系统 |
CN111310002B (zh) * | 2020-04-17 | 2023-04-07 | 西安热工研究院有限公司 | 一种基于分发器和配置表组合的泛型爬虫系统 |
CN111651656B (zh) * | 2020-06-02 | 2023-02-24 | 重庆邮电大学 | 一种基于代工模式的动态网页爬虫方法及系统 |
CN112100061A (zh) * | 2020-08-28 | 2020-12-18 | 广州探迹科技有限公司 | 一种可视化爬虫代码编写与调试方法 |
CN112256636A (zh) * | 2020-11-10 | 2021-01-22 | 国网湖南省电力有限公司 | 面向移动应用app的数据采集系统 |
CN112364226A (zh) * | 2020-11-12 | 2021-02-12 | 江苏易启策网络科技有限公司 | 一种基于动态内容解析的交互式信息采集方法及系统 |
CN112434205A (zh) * | 2020-11-30 | 2021-03-02 | 北京秒针人工智能科技有限公司 | 基于数据站点的数据集成抓取方法、系统及计算机设备 |
CN112667873A (zh) * | 2020-12-16 | 2021-04-16 | 北京华如慧云数据科技有限公司 | 一种适用于多数网站通用采集数据的爬虫系统及方法 |
CN112487269B (zh) * | 2020-12-22 | 2023-10-24 | 安徽商信政通信息技术股份有限公司 | 一种爬虫自动化脚本的检测方法及装置 |
CN112328238B (zh) * | 2021-01-05 | 2021-03-30 | 深圳点猫科技有限公司 | 一种积木代码执行控制方法、系统及存储介质 |
CN112818201A (zh) * | 2021-02-07 | 2021-05-18 | 四川封面传媒有限责任公司 | 一种网络数据采集方法、装置、计算机设备及存储介质 |
CN113742550B (zh) * | 2021-08-20 | 2024-04-19 | 广州市易工品科技有限公司 | 基于浏览器的数据获取方法、装置和系统 |
CN113656674B (zh) * | 2021-08-30 | 2023-06-27 | 山谷网安科技股份有限公司 | 关于网站爬虫中点击类型超链接的自动化处理方法及装置 |
CN113934912A (zh) * | 2021-11-11 | 2022-01-14 | 北京搜房科技发展有限公司 | 数据爬取方法及装置、存储介质及电子设备 |
CN113918793A (zh) * | 2021-12-10 | 2022-01-11 | 江苏宝和数据股份有限公司 | 一种多源科创资源数据采集方法 |
CN114861101A (zh) * | 2022-01-25 | 2022-08-05 | 浙江浩瀚能源科技有限公司 | 一种门户网站异常超链接的检测方法、装置、设备及介质 |
CN117633324B (zh) * | 2023-11-03 | 2024-07-30 | 北京东方通网信科技有限公司 | 一种自定义的可视化爬虫配置方法 |
CN118349719A (zh) * | 2024-05-10 | 2024-07-16 | 南昌卓蓝科技有限公司 | 一种云端大数据采集爬虫系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001033345A1 (en) * | 1999-11-02 | 2001-05-10 | Alta Vista Company | System and method for enforcing politeness while scheduling downloads in a web crawler |
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN102982161A (zh) * | 2012-12-05 | 2013-03-20 | 北京奇虎科技有限公司 | 网页信息的获取方法和装置 |
CN103970788A (zh) * | 2013-02-01 | 2014-08-06 | 北京英富森信息技术有限公司 | 一种基于网页爬取的爬虫技术 |
CN104765592A (zh) * | 2014-01-03 | 2015-07-08 | 任子行网络技术股份有限公司 | 一种面向网页采集任务的插件管理方法及其装置 |
-
2015
- 2015-10-28 CN CN201510713985.7A patent/CN105243159B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001033345A1 (en) * | 1999-11-02 | 2001-05-10 | Alta Vista Company | System and method for enforcing politeness while scheduling downloads in a web crawler |
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN102982161A (zh) * | 2012-12-05 | 2013-03-20 | 北京奇虎科技有限公司 | 网页信息的获取方法和装置 |
CN103970788A (zh) * | 2013-02-01 | 2014-08-06 | 北京英富森信息技术有限公司 | 一种基于网页爬取的爬虫技术 |
CN104765592A (zh) * | 2014-01-03 | 2015-07-08 | 任子行网络技术股份有限公司 | 一种面向网页采集任务的插件管理方法及其装置 |
Non-Patent Citations (1)
Title |
---|
搜索引擎中通用爬虫系统的研究与设计;高龙;《中国优秀硕士学位论文全文数据库信息科技辑》;20130915(第09期);第I138-518页 |
Also Published As
Publication number | Publication date |
---|---|
CN105243159A (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105243159B (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
CN101222349B (zh) | 收集web用户行为及性能数据的方法及系统 | |
US9519561B2 (en) | Method and system for configuration-controlled instrumentation of application programs | |
CN111030857B (zh) | 网络告警方法、装置、系统与计算机可读存储介质 | |
CN106096056B (zh) | 一种基于分布式的舆情数据实时采集方法和系统 | |
Kung et al. | An object-oriented web test model for testing web applications | |
CN107317724B (zh) | 基于云计算技术的数据采集系统及方法 | |
CN101651707B (zh) | 一种网络用户行为日志自动获取方法 | |
CN106021257B (zh) | 一种支持在线编程的爬虫抓取数据方法、装置及系统 | |
CN107391775A (zh) | 一种通用的网络爬虫模型实现方法及系统 | |
CN112632135A (zh) | 一种大数据平台 | |
CN104077402B (zh) | 数据处理方法和数据处理系统 | |
CN102982162B (zh) | 网页信息的获取系统 | |
CN107071009A (zh) | 一种负载均衡的分布式大数据爬虫系统 | |
CN107885777A (zh) | 一种基于协作式爬虫的抓取网页数据的控制方法及系统 | |
CN105260388A (zh) | 一种分布式垂直爬虫服务系统的优化方法 | |
CN102262635A (zh) | 一种网页爬虫系统及方法 | |
US20130036108A1 (en) | Method and system for assisting users with operating network devices | |
CN107766509A (zh) | 一种网页静态备份的方法和装置 | |
CN107239563A (zh) | 舆情信息动态监控方法 | |
CN112307292A (zh) | 基于高级持续性威胁攻击的信息处理方法及系统 | |
CN101763432A (zh) | 一种轻量级网页动态视图快速构建方法 | |
US10769218B2 (en) | Display for network time series data with adaptable zoom intervals | |
Smith | Go Web Scraping Quick Start Guide: Implement the power of Go to scrape and crawl data from the web | |
Agrawal et al. | A survey on content based crawling for deep and surface web |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |