基于多语言高效数据采集方法、计算机程序技术

技术编号:18204045 阅读:44 留言:0更新日期:2018-06-13 06:14
本发明专利技术属于计算机软件技术领域,公开了一种基于多语言高效数据采集方法、计算机程序,包括:关键字录入;识别输入语言类型,对文本多语言翻译;对多语言关键字分发;根据各子系统特定性能获取调度服务器任务,调用相关引擎进行业务爬取;网页分成新闻内容页,新闻列表页,过滤无效信息;新闻页面直接对链接获取新闻信息;新闻列表页,启用二级爬虫子系统递归,页面二次分析,获取新闻列表页,获取新闻页面,获取新闻;获取新闻内容去重;合法数据的数据结构化存储。本发明专利技术通过搜索引擎实现快速新闻采集功能,实现系统多语言自动采集;快速去重;实现快速负载均衡,并支持动态加载移除采集引擎;降低ip消耗,提高采集效率。

【技术实现步骤摘要】
基于多语言高效数据采集方法、计算机程序
本专利技术属于计算机软件
,尤其涉及一种基于多语言高效数据采集方法、计算机程序。
技术介绍
互联网数据采集需求越来越大,采集系统的高效和精确正在成为采集系统追求的目标。目前众多采集系统采用爬虫系统对网站数据进行直接采集。国内,国外采集多采用多套系统部署采集,采集方式采用通用采集或者模版化采集,对新闻类网站等进行数据采集。多套系统的部署增加了采购和运维成本,也造成系统复杂,很难对现有资源进行统一调配。不同网站内容重复率高,采集信息浪费严重。通用采集方式效率虽然高,但是错误率相对会更高,特别对于一些中小地方网站采集错误率会更大。模版化人工标注采集模式,准确率高,但是需要大量人工对每个网站进行人工定义规则,人工成本高。传统新闻采集系统针对各个新闻网站进行配置管理,针对境内外网站要做定向匹配,例如通过正则表达式进行精确匹配,针对网站二级域名或者栏目进行配置采集,传统采集方式需要花费大量的人力成本,系统部署和维护周期漫长。根据现有系统,采集全球30万新闻站点,维护站点成本超过300人月,服务器超过50台。现有的采集系统目前大部分设计为对新闻网站全量或者增量采集,客观性采集信息不全面,无法实现对内容的定向采集,需要占用大量的带宽和存储空间。此外不能对其他语言进行采集,随着中国走向国际化,对不同语言的采集也是迫切需求。传统人工匹配方式,很难实现大量全语种采集,一方面各语种人才难得,此外小语种人才很难有计算机基础实现人工配置。针对海外不同语言的采集,目前国内还是以中/英文为主,新闻采集没有涉及到海外多语言新闻的采集。针对海外葡萄牙,西班牙等多种语言(目前32种语言,可扩充)进行。针对内容采集重复和去重方式,传统方式通过新闻全文检索/内容指纹等方式对比进行对比判断重复,需要把内容全文放入内存,消耗大量内存和cpu,特别是大数量采集,对服务器资源消耗更大。通过url进行快速检索,可以降低对服务器的消耗。综上所述,现有技术存在的问题是:现有的数据采集方法存在增加采购和运维成本,造成系统复杂,不同网站内容重复率高,采集信息浪费严重,错误率高,系统部署和维护周期漫长,对服务器资源消耗大。现有采集系统是针对不同采集内容,专门建立专属的采集系统,每增加一类采集内容,就需要单独开发部署一套新的采集系统。采集内容的不同,对采集软件的要求,能力,规模都有不同要求,这也是技术本身的制约,对不同采集类内容开发不同的采集系统。例如新闻资讯,一般是通过首页—列表页—内容页(多页),论坛内容,一般是需要注册用户登录,采集每个主题发帖,回复帖等,区别很大,再加上不同系统对反采集要求,数据结构化要求,特别是当采集量要求比较庞大时无法通过单一系统完成多重复杂任务。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种基于多语言高效数据采集方法、计算机程序。本专利技术是这样实现的,一种基于多语言高效数据采集方法,所述基于多语言高效数据采集方法包括:(1)关键字录入;(2)识别输入语言类型,对文本多语言翻译;(3)对多语言关键字分发;(4)根据各子系统特定性能获取调度服务器任务,调用相关引擎进行业务爬取;(5)网页分成新闻内容页,新闻列表页,过滤无效信息;(6)新闻页面直接对链接获取新闻信息;(7)新闻列表页,启用二级爬虫子系统递归,页面二次分析,获取新闻列表页,获取新闻页面,获取新闻;(8)获取新闻内容去重;(9)合法数据的数据结构化存储。进一步,所述识别输入语言类型,对文本多语言翻译具体包括:(1)通过字符集判断输入语言版本;(2)通过翻译引擎对录入语言进行翻译;1)通过判定的输入语言版本,通过管道传输给机器翻译引擎,返回关键字集合记录集合,每个记录集合包含语言种类和翻译的目标词汇;2)如果记录集合为空,相应翻译出现异常。进一步,所述对多语言关键字分发具体包括:(1)业务调度任务服务接收爬取业务,加入任务队列;(2)根据语言版本,调度任务根据策略把任务分配;(3)中文关键字分配给支持中文的搜索引擎,英文分配给支持英文引擎服务器日文分配goo。进一步,所述获取新闻内容去重具体包括:(1)提取将要采集新闻的url;(2)对新闻url的hash编码;1)对同一个网站不同url爬取内容分散到不同的服务器,固定一个静态变量a初始值为1;2)建立新变量W,通过对网站的url加上变量a,W=hash(url)+a;3)a=a+1,如果a超过阈值L,则a=amod(L);(3)根据采集引擎个数,对hash编码W根据存活个数取余,根据余数分配到相应的采集引擎;1)向分发服务器发出alive信号,分发服务器动态加载配置;2)减少采集服务器,发出close信号;(4)引擎作为内存一级队列列表,语言版本作为二级队列,新闻url作为三级队列;(5)根据url的hash编码取余找到对应引擎的队列;(6)在引擎队列下,根据语言版本找到相应队列;(7)对url的hash编码对应语言队列在内存中进行检索;(8)检索到,放弃新闻采集,进行下一条新闻url提取,重复执行(1);(9)没有检测到,多个采集器对hash值进行按存活采集服务器数量进行取余操作,根据余数分配到对应的采集器,添加hash数值到对应引擎的队列,增加时间戳,采集新闻内容,进行结构化存储,并对采集内容通过hash算法进行指纹提取,作为内容验证内容;(10)对超过阚值时间的hash数值清理,回收内存;(11)对内存监控,空闲内存低于预定阚值,对各队列进行强制回收释放,释放时间最长的hash值。本专利技术的另一目的在于提供一种所述基于多语言高效数据采集方法的基于多语言高效数据采集系统,所述基于多语言高效数据采集系统包括:关键字录入模块,用于通过管理平台文本输入框进行关键字录入;识别语言类型模块,用于识别输入语言类型,并通过翻译引擎对文本进行多语言翻译;语言分法模块,用于对多语言关键字在业务调度服务器进行分发;调用模块,用于爬虫业务系统集群根据各子系统特定性能获取调度服务器任务,调用相关引擎进行业务爬取;定向分析模块,用于爬取网页进行定向分析,对网页分成新闻内容页,新闻列表页,过滤无效信息;链接模块,用于新闻页面,直接对链接获取新闻标题,内容,作者;新闻获取模块,对于新闻列表页,启用二级爬虫子系统递归,对相关页面二次分析,直至获取最终新闻列表页,获取新闻页面,获取新闻相关内容;去重模块,用于对获取新闻内容进行去重操作;存储模块,用于对合法数据进行数据结构化存储。所述识别语言类型模块进一步包括:判断单元,用于通过字符集判断输入语言版本;翻译单元,用于通过翻译引擎对录入语言进行翻译;所述翻译单元包括:记录单元,用于通过判定的输入语言版本,通过管道传输给机器翻译引擎,返回关键字集合记录集合,每个记录集合包含语言种类和翻译的目标词汇;异常单元,如果记录集合为空,说明相应翻译出现异常;传输单元,用于把录入关键字和翻译结果,传输给调度服务器。所述语言分法模块进一步包括:接收爬取业务单元,用于业务调度任务服务接收爬取业务,加入任务队列;调度任务单元,用于根据语言版本,调度任务根据策略把任务分配;引擎分配单元,用于中文关键字分配给支持中文的搜索引擎,英文分配给支持英文引擎服务器日文分配goo;所述去本文档来自技高网
...
基于多语言高效数据采集方法、计算机程序

【技术保护点】
一种基于多语言高效数据采集方法,其特征在于,所述基于多语言高效数据采集方法包括:(1)关键字录入;(2)识别输入语言类型,对文本多语言翻译;(3)对多语言关键字分发;(4)根据各子系统特定性能获取调度服务器任务,调用相关引擎进行业务爬取;(5)网页分成新闻内容页,新闻列表页,过滤无效信息;(6)新闻页面直接对链接获取新闻信息;(7)新闻列表页,启用二级爬虫子系统递归,页面二次分析,获取新闻列表页,获取新闻页面,获取新闻;(8)获取新闻内容去重;(9)合法数据的数据结构化存储。

【技术特征摘要】
1.一种基于多语言高效数据采集方法,其特征在于,所述基于多语言高效数据采集方法包括:(1)关键字录入;(2)识别输入语言类型,对文本多语言翻译;(3)对多语言关键字分发;(4)根据各子系统特定性能获取调度服务器任务,调用相关引擎进行业务爬取;(5)网页分成新闻内容页,新闻列表页,过滤无效信息;(6)新闻页面直接对链接获取新闻信息;(7)新闻列表页,启用二级爬虫子系统递归,页面二次分析,获取新闻列表页,获取新闻页面,获取新闻;(8)获取新闻内容去重;(9)合法数据的数据结构化存储。2.如权利要求1所述的基于多语言高效数据采集方法,其特征在于,所述识别输入语言类型,对文本多语言翻译具体包括:(1)通过字符集判断输入语言版本;(2)通过翻译引擎对录入语言进行翻译;1)通过判定的输入语言版本,通过管道传输给机器翻译引擎,返回关键字集合记录集合,每个记录集合包含语言种类和翻译的目标词汇;2)如果记录集合为空,相应翻译出现异常。3.如权利要求1所述的基于多语言高效数据采集方法,其特征在于,所述对多语言关键字分发具体包括:(1)业务调度任务服务接收爬取业务,加入任务队列;(2)根据语言版本,调度任务根据策略把任务分配;(3)中文关键字分配给支持中文的搜索引擎,英文分配给支持英文引擎服务器日文分配goo。4.如权利要求1所述的基于多语言高效数据采集方法,其特征在于,所述获取新闻内容去重具体包括:(1)提取将要采集新闻的url;(2)对新闻url的hash编码;1)对同一个网站不同url爬取内容分散到不同的服务器,固定一个静态变量a初始值为1;2)建立新变量W,通过对网站的url加上变量a,W=hash(url)+a;3)a=a+1,如果a超过阈值L,则a=amod(L);(3)根据采集引擎个数,对hash编码W根据存活个数取余,根据余数分配到相应的采集引擎;1)向分发服务器发出alive信号,分发服务器动态加载配置;2)减少采集服务器,发出close信号;(4)引擎作为内存一级队列列表,语言版本作为二级队列,新闻url作为三级队列;(5)根据url的hash编码取余找到对应引擎的队列;(6)在引擎队列下,根据语言版本找到相应队列;(7)对url的hash编码对应语言队列在内存中进行检索;(8)检索到,放弃新闻采集,进行下一条新闻url提取,重复执行(1);(9)没有检测到,多个采集器对hash值进行按存活采集服务器数量进行取余操作,根据余数分配到对应的采集器,添加hash数值到对应引擎的队列,增加时间戳,采集新闻内容,进行结构化存储,并对采集内容通过hash算法进行指纹提取,作为内容验证内容;(10)对超过阚值时间的hash数值清理,回收内存;(11)对内存监控,空闲内存低于预定阚值,对各队列进行强...

【专利技术属性】
技术研发人员:詹咏松程国艮
申请(专利权)人:中译语通科技股份有限公司
类型:发明
国别省市:北京,11

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

1