logo好方法网

一种特定主体的跨网站通用新闻采集方法


技术摘要:
本发明涉及一种特定主体的跨网站通用新闻采集方法,包括:步骤1:引入疏密度判断的方法,对采集到的新闻页面使用行块分布函数进行预处理;步骤2:根据行块分布函数中显示的文本的分布情况,通过预先设定的阈值,确定可能包含正文的区域;步骤3:将预处理过的页面源码重  全部
背景技术:
互联网上存在海量的信息,而Web数据通常是非结构化的,这意味着它包含噪声和 无用数据,因此通过手动提取以从所有网站获取数据是不现实的,这样不仅要消耗大量的 时间、人力成本,也不能保证准确性和时效性。网络数据提取在很多领域都是普遍面临的问 题,其中涉及到广泛的科学工具和应用。目前很多技术的研究和发展是以数据为基础,如自 然语言处理所需要的文本数据、计算机视觉研究需要的图像数据等。在各种项目的实际应 用中,数据的收集也是必不可少的部分。而如何高效准确的抓取数据,保证数据的时效性, 减少人工的参与,是系统实现主要面临的问题。本系统开发主要面向财经领域,财经新闻数 据的特点可以很好地衡量系统的有效性,数据量大、时效性高,所获取的数据也可用于进一 步的分析与处理。 目前国内外对于网页正文提取的算法主要分为4大类: 基于模板规则。这类算法从大量网页中生成模板,进而通过模板匹配来过滤网页 噪音从而生成网页正文。通常,不同的网站拥有不同的网页布局,同一网站下的网页拥有相 似网页布局。基于模板规则的正文提取方法复杂度较低,但由于其主要针对一个或相似网 页布局的网站,不具有通用性。 基于视觉分块。这类算法根据网页中的位置视觉信息来确定正文区域块,虽然提 取效果很好但其依赖于浏览器内核代码,耗时长,算法复杂度高。 基于启发式规则。这类算法首先将HTML解析成DOM树或某种特定格式,根据正文特 征如文本长度、纯文本比率、标点,人为指定若干规则最终找到正文块并提取正文内容,复 杂度较低,针对新闻、博客类网站有较好的正文提取效果。 基于机器学习。这类算法使用机器学习算法,如粒子群算法、决策树算法,对网页 正文特征,如文本特征密度、特征标签个数、标点个数或标点密度等确定其影响因子权值, 根据目标函数最大值确定正文内容。该类算法适应性较高,但其运算量较大,算法复杂度较 高。 Readability内容分析算法作为一种启发式算法,以其高效过滤网页噪音,目前已 被应用到多种浏览器的文本浏览应用中。该算法通过遍历DOM对象,结合标签和属性值对节 点进行加权计分(部分加减权如表1所示),根据分数和文本特性重新整合出页面内容。 表1正则表达式匹配 3 CN 111581478 A 说 明 书 2/4 页 1 .原始Readability算法在应用到不同风格的网页正文抽取中时,容易遗漏正文 内部数据信息。 2.Readability算法对网页处理过程中需要将页面重构为DOM树,虽然可以保证高 准确率,但是处理时间过长,在面对海量数据时有待优化。 3.目前的研究主要集中在算法部分,而系统架构也是影响提取效果的重要因素, 面向实际应用目的进行开发而不能只考虑准确率,也是当前技术方案需要解决的问题。
技术实现要素:
针对现有技术之不足,一种特定主体的跨网站通用新闻采集方法,所述方法包括: 步骤1:引入疏密度判断的方法,对采集到的新闻页面使用行块分布函数进行预处 理; 疏密度判断包括基于对网页的内容分析,可以得出页面内数据的分布情况; 步骤2:根据行块分布函数中显示的文本的分布情况,通过预先设定的阈值,确定 可能包含正文的区域,并对网页源码进行处理,只保留预测的正文区域部分; 步骤3:将预处理过的页面源码重构为DOM树; 步骤4:此时DOM树中包含的元素相对刚开始的完整页面已大大减少,对其使用 readability算法进行加减权操作,根据设定的分数要求,判断正文内容或无用元素; 步骤5:对处理后的内容,根据分数进行重新拼接,重组后生成正文内容。 根据一种优选的实施方式,在确定了正文的区域后,提取正文区域的HTML源代码, 使用readability算法进行进一步的精准提取,输出正文文本内容,步骤4具体步骤包括: 步骤41:HTML解析,将HTML解析成一棵DOM树,通过遍历树节点,操作HTML标签; 步骤42:遍历标签节点,提取其类别属性和ID属性进行正则匹配; 步骤43:确定正文主块节点,针对段落标签p,对其父节点和祖父节点进行计分;计 分因子包括段落标签所含文本长度、包含标点个数、节点标签名,若段落标签文本长度达 标,将其父节点和祖父节点加入候选节点列表,最后通过遍历候选节点,结合纯文本比率选 出最高分数的标签节点作为正文主块节点; 步骤44:正文块生成,遍历正文主块节点的同辈节点,判断其是否为正文节点; 首先评估其节点分数,若节点分数达标则标注为正文节点,否则判断其是否为段 落标签p节点,若为段落标签p节点且其文本特性达标则同样标注为正文节点; 然后创建一容器节点作为正文块节点,将筛选得到的正文节点与正文主块节点拼 接到正文块节点中; 步骤45:剪枝,对正文块节点中的特定标签进行清理,遍历其中的
、、 4 CN 111581478 A 说 明 书 3/4 页
    标签节点,依据节点权重、标签个数、纯文本比率等因素进行标签清除,达到清除块内 网页噪音的效果。其中,positive和negative以节点的标签属性进行正则匹配产生节点权 重; 步骤46:经过Readability算法处理后,输出文本数据。 根据一种优选的实施方式,采用所述行块分布函数进行预处理的方包括: 步骤11:将网页HTML标签去掉,只保留正文,保留下的信息成为中心文本; 步骤12:获取行块,以所述中心文本中的行号为轴,取当前行周围K行构成一个行 块; 步骤13:计算行块长度,对一个行块去掉其中的所有空白符后的字符总数称为该 行块的长度; 步骤14:获得行块分布函数,以所述中心文本每行为轴,共有Z个行块,做出以[1, Z]为横轴,以其各自的行块长度为纵轴的分布函数,Z=中心文本行数目-K。 本发明的有益效果在于: 本发明将行块分布函数与Readability算法相结合,进行参数调优后,可快速准确 提取网页的新闻数据,采用分布式部署及反爬、去重模块,系统整体具有效率高,鲁棒性好 等特点。可面向特定主体进行配置,也可广泛应用于各类数据提取,达到准确率和效率的平 衡,达到实际应用的要求。 附图说明 图1为本发明新闻采集方法流程示意图; 图2所示为行块分布函数的一种效果图。
    分享到:
    收藏
     关于本站  联系我们  侵权处理 免责声明 冀ICP备17022707号
    © 2025   本站由 资料铺 提供技术支持  网站地图