CN111581478A - 一种特定主体的跨网站通用新闻采集方法 - Google Patents
一种特定主体的跨网站通用新闻采集方法 Download PDFInfo
- Publication number
- CN111581478A CN111581478A CN202010378695.2A CN202010378695A CN111581478A CN 111581478 A CN111581478 A CN 111581478A CN 202010378695 A CN202010378695 A CN 202010378695A CN 111581478 A CN111581478 A CN 111581478A
- Authority
- CN
- China
- Prior art keywords
- text
- node
- block
- label
- line
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/951—Indexing; Web crawling techniques
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)
- Document Processing Apparatus (AREA)
Abstract
本发明涉及一种特定主体的跨网站通用新闻采集方法,包括:步骤1:引入疏密度判断的方法,对采集到的新闻页面使用行块分布函数进行预处理;步骤2:根据行块分布函数中显示的文本的分布情况,通过预先设定的阈值,确定可能包含正文的区域;步骤3:将预处理过的页面源码重构为DOM树;步骤4:对其使用readability算法进行加减权操作,根据设定的分数要求,判断正文内容或无用元素;步骤5:对处理后的内容,根据分数进行重新拼接,重组后生成正文内容。本发明将行块分布函数与Readability算法相结合,进行参数调优后,可快速准确提取网页的新闻数据,采用分布式部署及反爬、去重模块,系统整体具有效率高,鲁棒性好等特点。
Description
技术领域
本发明涉及数据分析及处理领域,尤其涉及一种特定主体的跨网站通用新闻采集系方法。
背景技术
互联网上存在海量的信息,而Web数据通常是非结构化的,这意味着它包含噪声和无用数据,因此通过手动提取以从所有网站获取数据是不现实的,这样不仅要消耗大量的时间、人力成本,也不能保证准确性和时效性。网络数据提取在很多领域都是普遍面临的问题,其中涉及到广泛的科学工具和应用。目前很多技术的研究和发展是以数据为基础,如自然语言处理所需要的文本数据、计算机视觉研究需要的图像数据等。在各种项目的实际应用中,数据的收集也是必不可少的部分。而如何高效准确的抓取数据,保证数据的时效性,减少人工的参与,是系统实现主要面临的问题。本系统开发主要面向财经领域,财经新闻数据的特点可以很好地衡量系统的有效性,数据量大、时效性高,所获取的数据也可用于进一步的分析与处理。
目前国内外对于网页正文提取的算法主要分为4大类:
基于模板规则。这类算法从大量网页中生成模板,进而通过模板匹配来过滤网页噪音从而生成网页正文。通常,不同的网站拥有不同的网页布局,同一网站下的网页拥有相似网页布局。基于模板规则的正文提取方法复杂度较低,但由于其主要针对一个或相似网页布局的网站,不具有通用性。
基于视觉分块。这类算法根据网页中的位置视觉信息来确定正文区域块,虽然提取效果很好但其依赖于浏览器内核代码,耗时长,算法复杂度高。
基于启发式规则。这类算法首先将HTML解析成DOM树或某种特定格式,根据正文特征如文本长度、纯文本比率、标点,人为指定若干规则最终找到正文块并提取正文内容,复杂度较低,针对新闻、博客类网站有较好的正文提取效果。
基于机器学习。这类算法使用机器学习算法,如粒子群算法、决策树算法,对网页正文特征,如文本特征密度、特征标签个数、标点个数或标点密度等确定其影响因子权值,根据目标函数最大值确定正文内容。该类算法适应性较高,但其运算量较大,算法复杂度较高。
Readability内容分析算法作为一种启发式算法,以其高效过滤网页噪音,目前已被应用到多种浏览器的文本浏览应用中。该算法通过遍历DOM对象,结合标签和属性值对节点进行加权计分(部分加减权如表1所示),根据分数和文本特性重新整合出页面内容。
表1正则表达式匹配
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:剪枝,对正文块节点中的特定标签进行清理,遍历其中的<div>、<table>、<ul>标签节点,依据节点权重、标签个数、纯文本比率等因素进行标签清除,达到清除块内网页噪音的效果。其中,positive和negative以节点的标签属性进行正则匹配产生节点权重;
步骤46:经过Readability算法处理后,输出文本数据。
根据一种优选的实施方式,采用所述行块分布函数进行预处理的方包括:
步骤11:将网页HTML标签去掉,只保留正文,保留下的信息成为中心文本;
步骤12:获取行块,以所述中心文本中的行号为轴,取当前行周围K行构成一个行块;
步骤13:计算行块长度,对一个行块去掉其中的所有空白符后的字符总数称为该行块的长度;
步骤14:获得行块分布函数,以所述中心文本每行为轴,共有Z个行块,做出以[1,Z]为横轴,以其各自的行块长度为纵轴的分布函数,Z=中心文本行数目-K。
本发明的有益效果在于:
本发明将行块分布函数与Readability算法相结合,进行参数调优后,可快速准确提取网页的新闻数据,采用分布式部署及反爬、去重模块,系统整体具有效率高,鲁棒性好等特点。可面向特定主体进行配置,也可广泛应用于各类数据提取,达到准确率和效率的平衡,达到实际应用的要求。
附图说明
图1为本发明新闻采集方法流程示意图;
图2所示为行块分布函数的一种效果图。
具体实施方式
下面结合附图进行详细说明。
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
针对现有技术存在的不足,本发明提出一种特定主体的跨网站通用新闻采集方法,图1本发明新闻采集方法流程示意图,现结合图1,对本发明的方法进行详细的阐述,方法包括:
步骤1:引入疏密度判断的方法,对采集到的新闻页面使用行块分布函数进行预处理。
疏密度判断包括基于对网页的内容分析,可以得出页面内数据的分布情况。此步用途是缩小readability算法处理的数据范围,提高整体速度。
步骤2:根据行块分布函数中显示的文本的分布情况,通过预先设定的阈值,确定可能包含正文的区域,并对网页源码进行处理,只保留预测的正文区域部分。
步骤3:将预处理过的页面源码重构为DOM树。
步骤4:此时DOM树中包含的元素相对刚开始的完整页面已大大减少,对其使用readability算法进行加减权操作,根据设定的分数要求,判断正文内容或无用元素。
步骤5:对处理后的内容,根据分数进行重新拼接,重组后生成正文内容。
在确定了正文的区域后,提取正文区域的HTML源代码,使用readability算法进行进一步的精准提取,输出正文文本内容,步骤4具体步骤包括:
步骤41:HTML解析,将HTML解析成一棵DOM树,通过遍历树节点,操作HTML标签。
步骤42:遍历标签节点,提取其类别属性和ID属性进行正则匹配。
步骤43:确定正文主块节点,针对段落标签p,对其父节点和祖父节点进行计分;计分因子包括段落标签所含文本长度、包含标点个数、节点标签名,若段落标签文本长度达标,阈值设定为25,将其父节点和祖父节点加入候选节点列表,最后通过遍历候选节点,结合纯文本比率选出最高分数的标签节点作为正文主块节点。
步骤44:正文块生成,遍历正文主块节点的同辈节点,判断其是否为正文节点。
首先评估其节点分数,若节点分数达标则标注为正文节点,否则判断其是否为段落标签p节点,若为段落标签p节点且其文本特性达标则同样标注为正文节点。
然后创建一容器节点作为正文块节点,将筛选得到的正文节点与正文主块节点拼接到正文块节点中。
步骤45:剪枝,对正文块节点中的特定标签进行清理,遍历其中的<div>、<table>、<ul>标签节点,依据节点权重、标签个数、纯文本比率等因素进行标签清除,达到清除块内网页噪音的效果。其中,positive和negative以节点的标签属性进行正则匹配产生节点权重。
步骤46:经过Readability算法处理后,输出文本数据。
采用行块分布函数进行预处理的依据包括:
依据1:网页正文区域一定是文字信息分布最密集的区域之一。
依据2:行块的长度信息可以有效地将正文区域与导航区、评论区进行区分。
行块分布函数进行预处理的方包括:
步骤11:将网页HTML标签去掉,只保留正文,保留下的信息成为中心文本;
步骤12:获取行块,以中心文本中的行号为轴,取当前行周围K行构成一个行块。
行块i是以Ctext中行号i为轴的行块。可以向下取,也可以向上取,也可以上下各多少行。取值为1至5。
步骤13:计算行块长度,对一个行块去掉其中的所有空白符()后的字符总数称为该行块的长度;空白字符包括但不限于\n,\r,\t等。
步骤14:获得行块分布函数,以中心文本每行为轴,共有LinesNum(Ctext)-K个行块,做出以[1,LinesNum(Ctext)-K]为横轴,以其各自的行块长度为纵轴的分布函数。
图2所示为行块分布函数的一种效果图。取自新浪新闻,正确文本区域行号为136-145,从图2中可以看出,在136-145行的分数最大,通过这种方法可大体定位正文的分布区域。
:需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。
Claims (3)
1.一种特定主体的跨网站通用新闻采集方法,其特征在于,所述方法包括:
步骤1:引入疏密度判断的方法,对采集到的新闻页面使用行块分布函数进行预处理;
疏密度判断包括基于对网页的内容分析,可以得出页面内数据的分布情况;
步骤2:根据行块分布函数中显示的文本的分布情况,通过预先设定的阈值,确定可能包含正文的区域,并对网页源码进行处理,只保留预测的正文区域部分;
步骤3:将预处理过的页面源码重构为DOM树;
步骤4:此时DOM树中包含的元素相对刚开始的完整页面已大大减少,对其使用readability算法进行加减权操作,根据设定的分数要求,判断正文内容或无用元素;
步骤5:对处理后的内容,根据分数进行重新拼接,重组后生成正文内容。
2.如权利要求1所述的跨网站通用新闻采集方法,其特征在于,在确定了正文的区域后,提取正文区域的HTML源代码,使用readability算法进行进一步的精准提取,输出正文文本内容,步骤4具体步骤包括:
步骤41:HTML解析,将HTML解析成一棵DOM树,通过遍历树节点,操作HTML标签;
步骤42:遍历标签节点,提取其类别属性和ID属性进行正则匹配;
步骤43:确定正文主块节点,针对段落标签p,对其父节点和祖父节点进行计分;计分因子包括段落标签所含文本长度、包含标点个数、节点标签名,若段落标签文本长度达标,将其父节点和祖父节点加入候选节点列表,最后通过遍历候选节点,结合纯文本比率选出最高分数的标签节点作为正文主块节点;
步骤44:正文块生成,遍历正文主块节点的同辈节点,判断其是否为正文节点;
首先评估其节点分数,若节点分数达标则标注为正文节点,否则判断其是否为段落标签p节点,若为段落标签p节点且其文本特性达标则同样标注为正文节点;
然后创建一容器节点作为正文块节点,将筛选得到的正文节点与正文主块节点拼接到正文块节点中;
步骤45:剪枝,对正文块节点中的特定标签进行清理,遍历其中的<div>、<table>、<ul>标签节点,依据节点权重、标签个数、纯文本比率等因素进行标签清除,达到清除块内网页噪音的效果。其中,positive和negative以节点的标签属性进行正则匹配产生节点权重;
步骤46:经过Readability算法处理后,输出文本数据。
3.如权利要求2所述的跨网站通用新闻采集方法,其特征在于,采用所述行块分布函数进行预处理的方包括:
步骤11:将网页HTML标签去掉,只保留正文,保留下的信息成为中心文本;
步骤12:获取行块,以所述中心文本中的行号为轴,取当前行周围K行构成一个行块;
步骤13:计算行块长度,对一个行块去掉其中的所有空白符后的字符总数称为该行块的长度;
步骤14:获得行块分布函数,以所述中心文本每行为轴,共有Z个行块,做出以[1,Z]为横轴,以其各自的行块长度为纵轴的分布函数,Z=中心文本行数目-K。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010378695.2A CN111581478A (zh) | 2020-05-07 | 2020-05-07 | 一种特定主体的跨网站通用新闻采集方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010378695.2A CN111581478A (zh) | 2020-05-07 | 2020-05-07 | 一种特定主体的跨网站通用新闻采集方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN111581478A true CN111581478A (zh) | 2020-08-25 |
Family
ID=72112878
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010378695.2A Pending CN111581478A (zh) | 2020-05-07 | 2020-05-07 | 一种特定主体的跨网站通用新闻采集方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111581478A (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112765941A (zh) * | 2021-01-21 | 2021-05-07 | 语联网(武汉)信息技术有限公司 | 自动提取网页正文的方法及系统 |
| CN115080891A (zh) * | 2021-03-12 | 2022-09-20 | 中山大学 | 一种改进的基于行块分布函数的网页正文提取方法 |
| CN116362223A (zh) * | 2023-03-07 | 2023-06-30 | 北京粉笔蓝天科技有限公司 | 一种网页文章标题和正文的自动识别方法及装置 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140173744A1 (en) * | 2012-12-18 | 2014-06-19 | Michael Borohovski | System and methods for scalably identifying and characterizing structural differences between document object models |
| CN104182412A (zh) * | 2013-05-24 | 2014-12-03 | 中国移动通信集团安徽有限公司 | 一种网页爬取方法及系统 |
| CN105183801A (zh) * | 2015-08-25 | 2015-12-23 | 北京信息科技大学 | 网页正文抽取方法及装置 |
| US20160283499A1 (en) * | 2013-11-01 | 2016-09-29 | Beijing Qihoo Technology Company Limited | Webpage advertisement interception method, device and browser |
| CN106844782A (zh) * | 2017-03-10 | 2017-06-13 | 山东省科学院情报研究所 | 一种面向网络的多通道大数据采集系统及方法 |
| CN109635219A (zh) * | 2018-12-05 | 2019-04-16 | 云孚科技(北京)有限公司 | 一种网页内容提取方法 |
| CN110020312A (zh) * | 2017-12-11 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 提取网页正文的方法和装置 |
-
2020
- 2020-05-07 CN CN202010378695.2A patent/CN111581478A/zh active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140173744A1 (en) * | 2012-12-18 | 2014-06-19 | Michael Borohovski | System and methods for scalably identifying and characterizing structural differences between document object models |
| CN104182412A (zh) * | 2013-05-24 | 2014-12-03 | 中国移动通信集团安徽有限公司 | 一种网页爬取方法及系统 |
| US20160283499A1 (en) * | 2013-11-01 | 2016-09-29 | Beijing Qihoo Technology Company Limited | Webpage advertisement interception method, device and browser |
| CN105183801A (zh) * | 2015-08-25 | 2015-12-23 | 北京信息科技大学 | 网页正文抽取方法及装置 |
| CN106844782A (zh) * | 2017-03-10 | 2017-06-13 | 山东省科学院情报研究所 | 一种面向网络的多通道大数据采集系统及方法 |
| CN110020312A (zh) * | 2017-12-11 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 提取网页正文的方法和装置 |
| CN109635219A (zh) * | 2018-12-05 | 2019-04-16 | 云孚科技(北京)有限公司 | 一种网页内容提取方法 |
Non-Patent Citations (4)
| Title |
|---|
| LLGUANLI: "精确提取新闻内容", 《HTTPS://WWW.CNBLOGS.COM/LLGUANLI/P/8628371.HTML》 * |
| 陈婷婷: "基于改进内容分析算法的网页正文提取", 《计算机工程与设计》 * |
| 陈郑淏: "基于一维卷积混合神经网络的文本情感分类", 《计算机应用》 * |
| 陈鑫: "基于行块分布函数的通用网页正文提取", 《豆丁网》 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112765941A (zh) * | 2021-01-21 | 2021-05-07 | 语联网(武汉)信息技术有限公司 | 自动提取网页正文的方法及系统 |
| CN115080891A (zh) * | 2021-03-12 | 2022-09-20 | 中山大学 | 一种改进的基于行块分布函数的网页正文提取方法 |
| CN116362223A (zh) * | 2023-03-07 | 2023-06-30 | 北京粉笔蓝天科技有限公司 | 一种网页文章标题和正文的自动识别方法及装置 |
| CN116362223B (zh) * | 2023-03-07 | 2023-12-15 | 北京粉笔蓝天科技有限公司 | 一种网页文章标题和正文的自动识别方法及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111460247B (zh) | 网络图片敏感文字自动检测方法 | |
| CN102054015B (zh) | 使用有机物件数据模型来组织社群智能信息的系统及方法 | |
| TWI424325B (zh) | 使用有機物件資料模型來組織社群智慧資訊的系統及方法 | |
| CN103207860B (zh) | 舆情事件的实体关系抽取方法和装置 | |
| CN102332028A (zh) | 一种面向网页的不良Web内容识别方法 | |
| CN106815307A (zh) | 公共文化知识图谱平台及其使用办法 | |
| CN103838823B (zh) | 一种基于网页模板的网站内容无障碍检测方法 | |
| CN115713085A (zh) | 文献主题内容分析方法及装置 | |
| CN111581478A (zh) | 一种特定主体的跨网站通用新闻采集方法 | |
| WO2020101479A1 (en) | System and method to detect and generate relevant content from uniform resource locator (url) | |
| CN109918648B (zh) | 一种基于动态滑动窗口特征评分的谣言深度检测方法 | |
| CN103440315B (zh) | 一种基于主题的Web页面清洗方法 | |
| CN105630772A (zh) | 一种网页评论内容的抽取方法 | |
| CN120014664A (zh) | 一种电力系统继电保护定值单信息抽取方法及相关装置 | |
| CN112183093A (zh) | 一种企业舆情分析方法、装置、设备及可读存储介质 | |
| CN111460803A (zh) | 基于工业物联网设备Web管理页面的设备识别方法 | |
| CN118377950A (zh) | 一种网页正文提取方法和装置 | |
| CN107908749A (zh) | 一种基于搜索引擎的人物检索系统及方法 | |
| CN107436931B (zh) | 网页正文抽取方法及装置 | |
| CN112328792A (zh) | 一种基于dbscan聚类算法识别信用事件的优化方法 | |
| CN112000807A (zh) | 一种建议提案精确分类方法 | |
| CN110096618B (zh) | 一种基于分维度情感分析的电影推荐方法 | |
| CN115269923A (zh) | 网页正文区域及正文信息处理方法、系统、设备、介质 | |
| CN113434797A (zh) | 一种网页信息提取方法及装置 | |
| CN110083760B (zh) | 一种基于可视块的多记录型动态网页信息提取方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| WD01 | Invention patent application deemed withdrawn after publication | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200825 |