基于分布式存储系统的网络爬虫系统的制作方法

文档序号:9326924阅读:253来源:国知局
基于分布式存储系统的网络爬虫系统的制作方法
【技术领域】
[0001] 本发明属于计算机数据挖掘和搜索技术领域,涉及基于分布式存储系统的网络爬 虫系统和结构化信息抽取的方法。
【背景技术】
[0002] 随着互联网技术的发展和普及,Web资源呈爆炸式增长,网页成为人们日常生活中 获取信息的重要来源。网络资源繁多且具开放性、动态性和异构性等,无法进行统一管理, 这使得人们想要快速准确地查找到所需信息成为难题。网络资源的异构性导致很难获取结 构化的信息。

【发明内容】

[0003] 本发明的目的是针对现有技术的不足而提供的一种基于分布式存储系统的网络 爬虫系统,该系统能够快速准确地查找到所需信息。
[0004] 实现本发明目的的具体技术方案是:
[0005] -种基于分布式存储系统的网络爬虫系统,特点是该系统包括基础服务模块、抓 取器及设置于抓取器内的任务调度模块、解析服务模块、页面下载模块、页面更新模块及数 据存储模块,任务调度模块控制抓取器抓取数据的流程;解析服务模块解析网页的内容并 且提供自定义的模版抽取信息;页面下载模块下载网页的源代码,支持加载javascipt,异 步动态加载的ajax以及form表单的页面;页面更新模块获取网页更新过后的数据信息; 数据存储模块通过结构化信息抽取的方法,把抽取过后的内容存储到分布式存储系统的数 据库中;基础服务模块完成抓取器的流量控制、抓取器的监控报警机制、URL去重服务、URL 归一化服务及js/css资源管理服务。
[0006] 所述结构化信息抽取的方法包括:
[0007] A)基于构建词典的空间向量模型算法,具体步骤如下:
[0008] 1)根据用户想要抓取某领域的数据信息,预先构建该领域关键词的词典,把该词 典看作是一个m维的词向量,记作0 m;
[0009] 2)通过使用分词工具,把网页的文本内容分为孤立的词语;
[0010] 3)计算每一个词语在词典中出现次数,词语出现的次数越高就代表相关度越高;
[0011] 4)每个词语都有相应的次数;把每个词语当作一个维度,假设该网页有η个词语, 就把该网页看作是一个η维的向量;
[0012] 5)每一个网页得到一个η维的词向量,记作αη;
[0013] 6)通过本公式计算网页与词典的相关度:
[0014] 7)把网页相关度S(an,大于预先设置的阈值Θ的网页,放入待结构化抽取 队列中;
[0015] B)构建网页模版,具体步骤如下:
[0016] 1)分析网页html结构,网页包括head标签和body标签;
[0017] 2) Head标签中,目标标签是title标签;
[0018] 3) body标签中,目标标签是p标签,a标签,form表单标签;
[0019] 4)把上述目标标签组合在一起,完成网页的模板;
[0020] C)结构化信息抽取,具体步骤如下:
[0021] 使用B)构建的网页模板去抽取A)空间向量模型算法得到的待抽取网页中的网页 信息,最终得到结构化数据,数据以xml格式存储到分布式系统数据库中。
[0022] 所述抓取数据的流程如下:
[0023] 1)用户给定种子URL,作为抓取互联网网页的入口;
[0024] 2)用户个性化定制基础服务配置文件,包括:流量控制、URL过滤规则、URL去重服 务、URL归一化、浏览器引擎及监控服务;
[0025] 3)根据URL过滤规则,URL去重服务,抓取符合条件的URL ;
[0026] 4)页面下载模块对符合条件的URL逐一下载URL对应页面;采用多线程并发技 术加快下载页面的速度;页面下载模块调用基础服务中浏览器引擎,浏览器引擎通过调用 chrome内核加载植染javascript/ajax网页,保证该网页下载数据完整性;
[0027] 5)任务调度模块启动解析引擎模块,解析引擎模块将符合过滤规则的外部链接 URL放入待爬取队列中;
[0028] 6)任务调度模块启动数据存储模块,数据存储模块使用结构化信息抽取的方法, 把抽取过后的内容存储到分布式存储系统的数据库中。
[0029] 与现有技术相比,本发明有以下优点:
[0030] ⑴、提高了网络爬虫的效率。通过运用多线程提高爬取的并发度,通过结构化信息 抽取的方法提高了抽取网页信息的效率。
[0031] ⑵、本发明提出使用空间向量模型法可以爬取关于某一主题的网页。
[0032] ⑶、本发明结合空间向量模型和模版法来智能自动化抽取网页的信息。
[0033] ⑷、本发明易于操作,成本低。只需要配置本系统的配置文件和几台Iinux服务器 就可以达到爬取百万级的网页数据量。
【附图说明】
[0034] 图1本发明系统架构图;
[0035] 图2本发明结构化信息抽取方法流程图;
[0036] 图3本发明系统流程图。
【具体实施方式】
[0037] 实施例
[0038] 下面通过抓取优酷剧集基本信息为例,详细叙述本发明。
[0039] 优酷网
[0040] I)http: "movie, youku. com,http: "tv. youku. com作为本系统优酉告抓取的入口。
[0041] 2)定制本系统配置文件:流量控制、URL过滤规则、URL去重服务、URL归一化、浏 览器引擎及监控服务。
[0042] 3)优酷网对于同一个IP地址,会限制访问的频率。把本地的抓取器通过代理,按 照每一个小时切换一次不同IP地址。这样优酷网站点就不会拒绝本系统抓取请求。
[0043] 4)按照本系统爬取任务优先级设置从高到低:优酷网URL爬取,优酷网基本信息 页面爬取,优酷网播放信息页面的爬取,优酷网分集信息播放爬取,优酷评论信息页面的爬 取,优酷网增量页面的爬取。
[0044] 5)通过种子的 http://movie, youku. com, http://tv. youku. com URL,本系统通过 种子URL去发现指向外部链接的URL,并且读取优酷网配置文件URL过滤规则,过滤掉不符 合过滤规则的URL。把符合过滤规则的URL放入待爬取队列中。
[0045] 6)对每一个URL进行页面下载。
[0046] 7)构建视频领域的关键词词典。词典构建通过数据堂提供的75个领域词典,把词 典看作是一个m维度的词向量,记作
[0047] 6)对URL的页面内容分词,把网页内容分为孤立的词语。
[0048] 7)计算出每一个网页词语在词典总出现的次数。
[0049] 10)每个词语都有相应的次数;把每个词语当作一个维度,假设该网页有η个词 语,就把该网页看作是一个η维的向量,α "
[0050] 11)计算网页与词典的相关度:
[0051] 12)本系统预先设置的阈值Θ为0.4。把步骤11)算出的结果大于0.4的该网页 放入待结构化抽取队列中。
[0052] 13)本实施例中只对优酷网剧集基本信息网页构建模板,所以本实施例只构建基 本信息网页的模板。注:实际生产环境需要构建不止一个模板:如优酷剧集基本信息页面 模板、播放信息页面的模板、分集播放信息页面模板、评论信息页面模板、优酷聚集指数页 面模板等。
[0053] 14)优酷网剧集基本信息网页模板:
[0054]
[0055] 15)通过上一步的模板,本系统自动把网页与模板匹配,匹配出来的信息存入到 xml文件中,存储模板把xml文件存入到分布式存储系统数据库中。结构化抽取出来的数据 样例如下:
[0056]
[0057]
[0058] 16)通过上述步骤,就能把优酷网剧集基本信息网页爬取下来。
【主权项】
1. 一种基于分布式存储系统的网络爬虫系统,其特征在于该系统包括基础服务模块、 抓取器及设置于抓取器内的任务调度模块、解析服务模块、页面下载模块、页面更新模块及 数据存储模块,任务调度模块控制抓取器抓取数据的流程;解析服务模块解析网页的内容 并且提供自定义的模版抽取信息;页面下载模块下载网页的源代码,支持加载javascipt, 异步动态加载的ajax以及form表单的页面;页面更新模块获取网页更新过后的数据信息; 数据存储模块通过结构化信息抽取的方法,把抽取过后的内容存储到分布式存储系统的数 据库中;基础服务模块完成抓取器的流量控制、抓取器的监控报警机制、URL去重服务、URL 归一化服务及js/css资源管理服务。2. 根据权利要求1所述的网络爬虫系统,其特征在于所述结构化信息抽取的方法包 括: A) 基于构建词典的空间向量模型算法,具体步骤如下: 1) 根据用户想要抓取某领域的数据信息,预先构建该领域关键词的词典,把该词典看 作是一个m维的词向量,记作0m; 2) 通过使用分词工具,把网页的文本内容分为孤立的词语; 3) 计算每一个词语在词典中出现次数,词语出现的次数越高就代表相关度越高; 4) 每个词语都有相应的次数;把每个词语当作一个维度,假设该网页有n个词语,就把 该网页看作是一个n维的向量; 5) 每一个网页得到一个n维的词向量,记作an;7)把网页相关度S(an,大于预先设置的阈值0的网页,放入待结构化抽取队列 中; B) 构建网页模版,具体步骤如下: 1) 分析网页html结构,网页包括head标签和body标签; 2. Head标签中,目标标签是title标签; 3. body标签中,目标标签是p标签,a标签,form表单标签; 4) 把上述目标标签组合在一起,完成网页的模板; C) 结构化信息抽取,具体步骤如下: 使用B)构建的网页模板去抽取A)空间向量模型算法得到的待抽取网页中的网页信 息,最终得到结构化数据,数据以xml格式存储到分布式系统数据库中。3. 根据权利要求1所述的网络爬虫系统,其特征在于所述抓取数据的流程如下: 1) 用户给定种子URL,作为抓取互联网网页的入口; 2) 用户个性化定制基础服务配置文件,包括:流量控制、URL过滤规则、URL去重服务、 URL归一化、浏览器引擎及监控服务; 3) 根据URL过滤规则,URL去重服务,抓取符合条件的URL; 4) 页面下载模块对符合条件的URL逐一下载URL对应页面;采用多线程并发技术加快 下载页面的速度;页面下载模块调用基础服务中浏览器引擎,浏览器引擎通过调用chrome内核加载植染javascript/ajax网页,保证该网页下载数据完整性; 5) 任务调度模块启动解析引擎模块,解析引擎模块将符合过滤规则的外部链接URL放 入待爬取队列中; 6) 任务调度模块启动数据存储模块,数据存储模块使用结构化信息抽取的方法,把抽 取过后的内容存储到分布式存储系统的数据库中。
【专利摘要】本发明公开了一种基于分布式存储系统的网络爬虫系统,该系统包括基础服务模块、抓取器及设置于抓取器内的任务调度模块、解析服务模块、页面下载模块、页面更新模块及数据存储模块,任务调度模块控制抓取器抓取数据的流程;解析服务模块解析网页的内容并且提供自定义的模版抽取信息;页面下载模块下载网页的源代码;页面更新模块获取网页更新过后的数据信息;数据存储模块通过结构化信息抽取的方法,把抽取过后的内容存储到分布式存储系统的数据库中;基础服务模块完成抓取器的流量控制、抓取器的监控报警机制、URL去重服务、URL归一化服务及js/css资源管理服务。本发明的特点:一是灵活的爬虫方法,二是智能自动化对网页内容信息结构化抽取。
【IPC分类】G06F17/30
【公开号】CN105045838
【申请号】CN201510377049
【发明人】贺樑, 黄保荃, 杨燕
【申请人】华东师范大学
【公开日】2015年11月11日
【申请日】2015年7月1日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1