一种网页内容自动采集方法

文档序号:9217309阅读:954来源:国知局
一种网页内容自动采集方法
【技术领域】
[0001]本发明公开了一种网页内容自动采集方法,涉及互联网数据处理技术领域。
【背景技术】
[0002]随着科技的进步,互联网信息进入一个爆炸式、多元式的时代,互联网成为一个巨大的信息库,互联网信息采集可以使您在信息采集、资源整合、资金利用、人力投入等方面节约大量资源,广泛应用于行业门户网站信息采集、竞争对手情报数据搜集、网站内容系统建设、垂直搜索、舆情监测、科研等领域。
[0003]以新闻网页为例,常规的新闻网页内容采集程序工作时,依赖于人工提供每个不同新闻站点的页面解析模板,格式定义文件中定义了新闻网页中所有有效数据项的xpath,如新闻标题、正文、作者、发表时间。维护新闻站点页面解析模板是非常枯燥的,而且如果采集程序覆盖的站点越多,工作量越大。而且若新闻站点改版后,原有的页面解析模板文件也就随之‘过期’,需要重新订制,但是往往很难及时发现并重新订制,导致一旦某个新闻站点改版,那么在发现之前,这些新闻站点的数据都将异常甚至丢失。
[0004]现有的新闻站点因为格式多样化,数据量爆炸式膨胀,监控严格等,导致收集难度加大,主要表现在:
[0005]1、需要人工配置新闻网页解析模板,制定对应信息的xpath。
[0006]2、网站的海量信息抓取,规则难以统一制定。一般会针对每个站点单独配置解析模板,工作量大;
[0007]3、后继带来了海量的规则维护工作,以及站点改版后规则要实时更新的问题;
[0008]4、若不能够及时发现新闻站点改版,那么采集这些新闻站点的数据将会出现异常。
[0009]现有常规新闻网页采集都需要通过针对所有站点订制解析模板,所有的订制和后继维护工作繁琐而枯燥,且若不能及时适应站点的改版,导致无法有效采集数据,对于大型的采集系统这些问题尤为突出,急需通过新的技术方法来取代人工的维护工作。

【发明内容】

[0010]本发明所要解决的技术问题是:针对现有技术的缺陷,提供一种网页内容自动采集方法,通过可扩展的方式,支持多种类型的网页通用采集器,每个网页通用采集器都是以不同的算法实现页面通用采集,而算法则是通过网页的共同特征抽象而来。
[0011]本发明为解决上述技术问题采用以下技术方案:
[0012]一种网页内容自动采集方法,具体步骤包括:
[0013]步骤一、根据需要进行内容采集的网页URL查找与该网页所在网站相匹配的采集器集合;
[0014]步骤二、当存在相匹配的采集器时,执行采集器,获取网页内容;当不存在相匹配的采集器时,查找未匹配采集器集合,从未匹配采集器集合中选择采集器并执行采集器,获取网页内容;
[0015]步骤三、采集成功后,输出网页内容的采集结果;当采集不成功时,返回步骤二,重新选择采集器。
[0016]作为本发明的进一步优选方案,所述步骤二中,采集器的识别流程包括:
[0017]1、访问目标网页页面,并获取页面字节流;
[0018]2、将字节流解析成dom对象,将dom中所有Element对应html标签,记录html标签的所有属性和值;
[0019]3、通过dom对象中的title节点,确认标题范围,其中,所述title节点的Xpath为://HTML/HEAD/TITLE ;
[0020]再通过查找h节点,比对title节点,确认网页的标题xpath,其中,所述h节点的Xpath 为://B0DY//*[name O = ’H*’];
[0021]当title节点的值包含h节点的值时,h节点即为网页的标题节点,h节点的xpath即为网页标题的xpath ;
[0022]4、以h节点为起点,查找发表时间节点;
[0023]5、以h节点为起点,扫描h节点的祖父节点对应的所有子节点,查找文本值长度最长的节点,将其确定为网页正文节点;
[0024]6、确认作者节点,用“作者节点特征匹配”方式以h节点为起点,扫描h节点的父节点的所有子节点,匹配子节点的文本值是否符合作者节点特征,若符合,则确认该子节点为作者节点;
[0025]7、根据网页的标题、发表时间节点、正文节点和作者节点,识别出网页内容相匹配的米集器。
[0026]作为本发明的进一步优选方案,当步骤6中使用“作者节点特征匹配”方式没有成功确认作者节点时,则使用“位置猜测”方式确认作者节点:
[0027]以发表节点为起点,分析发表节点在其兄弟节点中的位置,来确定作者节点:
[0028]a、若发表节点的兄弟节点有多个,且发表节点在所述多个节点中排名在一半之前,则确定发表节点的下一个兄弟节点就是作者节点;
[0029]b、若发表节点的兄弟节点有多个,且发表节点在所述多个节点中排名在一半之后,则确定发表节点的前一个兄弟节点就是作者节点。
[0030]作为本发明的进一步优选方案,所述步骤4中发表时间节点的确认具体方法为:
[0031]从h节点的所有子节点中查找时间节点,若查找到,则完成发表时间节点的确认;
[0032]否则,继续从h节点的所有兄弟节点及其所有子节点中查找时间节点,若查找到,则完成发表时间节点的确认。
[0033]作为本发明的进一步优选方案,所述步骤4中发表时间节点的确认算法具体为:
[0034]通过常用时间格式正则表达式来匹配节点的值,若能够匹配命中,则该节点即确认为发表时间节点。
[0035]作为本发明的进一步优选方案,所述步骤5确定网页正文节点的过程中,还包括对所有节点按照噪音节点标准进行去噪处理,将不合理的节点排除,所述噪音节点标准具体为:
[0036](I)凡节点的值中含有javaScript特征的节点;
[0037](2)凡节点的值中含有的标点符号数量小于设定阈值的节点。
[0038]作为本发明的进一步优选方案,所述步骤6中作者节点的判断方法包括:
[0039]I)节点的值中含有设定的特征字符串,包括“作者:”、“来源:”或者“责任编辑:,,;
[0040]2)节点的值长度小于阈值。
[0041]本发明采用以上技术方案与现有技术相比,具有以下技术效果:
[0042]1、本发明中的网页自动采集系统框架,支持扩展其它多个网页采集器,极大的提高了系统的可维护性,降低了维护成本与风险,优化了采集系统结构,简化采集处理流程,为大规模采集系统提供了新的高效解决方案。
[0043]2、本发明中的网页通用采集器算法,通过自动解析html结构能够处理绝大部分的站点,有效的提高了采集效率,并且可作为独立组件运行于多种系统,例如新闻网页网站中。
【附图说明】
[0044]图1是本发明中网页内容自动采集的方法流程图。
[0045]图2是本发明中网页通用采集器处理流程图。
【具体实施方式】
[0046]下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0047]下面结合附图对本发明的技术方案做进一步的详细说明:
[0048]本发明中网页内容自动采集的方法流程图如图1所示,在具体实施例中,以新闻网站的内容采集为例。所述网页内容自动采集方法,具体步骤包括:
[0049]步骤一、根据需要进行内容采集的网页URL查找与该网页所在网站相匹配的采集器集合;
[0050]步骤二、当存在相匹配的采集器时,执行采集器,获取网页内容;当不存在相匹配的采集器时,查找未匹配采集器集合,从未匹配采集器集合中选择采集器并执行采集器,获取网页内容;
[0051]步骤三、采集成功后,输出网页内容的采集结果;当采集不成功时,返回步骤二,重新选择采集器。
[0052]本发明中网页通用采集器处理流程图如图2所示,
[0053]1、互联网访问目标新闻网页页面,并获取页面字节流。
[0054]2、将字节流解析成dom对象,dom中所有Element中对应html标签,且拥有html标签的所有属性和值。dom是一种用XML的独特java工具包,包含java语言的语法乃至语义,实现XML文件解析。html是超文本标记语言,构成网页文档的主要语言,可以包含文字、图形、动画、
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1