CN117573959B - 一种基于网页xpath获取新闻正文的通用方法 - Google Patents
一种基于网页xpath获取新闻正文的通用方法 Download PDFInfo
- Publication number
- CN117573959B CN117573959B CN202311344752.5A CN202311344752A CN117573959B CN 117573959 B CN117573959 B CN 117573959B CN 202311344752 A CN202311344752 A CN 202311344752A CN 117573959 B CN117573959 B CN 117573959B
- Authority
- CN
- China
- Prior art keywords
- xpath
- text
- target
- group
- news
- 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.)
- Active
Links
- 238000007429 general method Methods 0.000 title claims abstract description 24
- 238000012216 screening Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 13
- 230000009193 crawling Effects 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000005192 partition Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/042—Backward inferencing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于网页xpath获取新闻正文的通用方法,属于自然语言处理技术领域,其方法包括:通过Scrapy爬虫框架工具获取新闻网站的xpath;用k‑means相似度聚类分组算法,将网页中的xpath进行分组,得到n组xpath;通过n组xpath中每组xpath反向推出每个xpath所对应内容;获取每组xpath总内容文本大小,筛选出文本最大的组;将所述文本最大的组作为xpath正文部分入库,实现对网页新闻正文内容的爬取。解决了新类型的网站也需要通过维护规则库的方式达到获取正文的目的,人工投入量较大,维护成本较高的问题。
Description
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种基于网页xpath获取新闻正文的通用方法。
背景技术
目前,现有获取网页新闻的方法通过定制化开发针对每种类型网页特点编写规则,网页的规则繁杂多样,不同类型网页也会进行升级变动,导致之前开发的规则不可用,新类型的网站也需要通过维护规则库的方式达到获取正文的目的,人工投入量较大,维护成本较高。
因此,本发明提出一种基于网页xpath获取新闻正文的通用方法。
发明内容
本发明提供一种基于网页xpath获取新闻正文的通用方法,通过Scrapy爬虫框架工具获取新闻网站的xpath,用k-means相似度聚类分组算法,将网页中的xpath进行分组,得到n组xpath,通过n组xpath中每组xpath反向推出每个xpath所对应内容,获取每组xpath总内容文本大小,筛选出文本最大的组,将所述文本最大的组作为xpath正文部分入库,实现对网页新闻正文内容的爬取,解决了背景技术中新类型的网站也需要通过维护规则库的方式达到获取正文的目的,人工投入量较大,维护成本较高的问题。
本发明提出一种基于网页xpath获取新闻正文的通用方法,该方法包括:
步骤1:通过Scrapy爬虫框架工具获取新闻网站的xpath;
步骤2:用k-means相似度聚类分组算法,将网页中的xpath进行分组,得到n组xpath;
步骤3:通过n组xpath中每组xpath反向推出每个xpath所对应内容;
步骤4:获取每组xpath总内容文本大小,筛选出文本最大的组;
步骤5:将所述文本最大的组作为xpath正文部分入库,实现对网页新闻正文内容的爬取。
优选的,通过Scrapy爬虫框架工具获取新闻网站的xpath,包括:
确定目标新闻网站,并获取目标新闻网站网页html中的所有元素;
通过Scrapy爬虫框架工具获取所述所有元素所对应的xpath;
其中,所有元素所对应的xpath的总数量为cx。
优选的,通过Scrapy爬虫框架工具获取新闻网站的xpath之后,还包括:
基于xpath语法分析,建立基于xpath语法元素及xpath语法字段规则库;
获取所述目标新闻网站中所有的xpath语法元素及xpath语法字段;
将获取的xpath语法元素及xpath语法字段输入到规则库中进行匹配,若匹配成功,则确定目标新闻网站的xpath合格,若匹配失败,则确定目标新闻网站的xpath不合格;
当确定目标新闻网站的xpath不合格时,发出数据异常提醒。
优选的,用k-means相似度聚类分组算法,将网页中的xpath进行分组,得到n组xpath,包括:
分别提取网页中的xpath中每个xpath的特征属性;
基于k-means相似度聚类分组算法根据每个xpath的特征属性进行相似聚类,获取多个聚类簇;
根据每个聚类簇中的第二划分xpath将网页中的xpath进行分组,得到n组xpath。
优选的,通过n组xpath中每组xpath反向推出每个xpath所对应内容,包括:
获取n组xpath中每组xpath的数据属性和元素属性;
基于所述数据属性获取每组xpath中的数据特征;
基于所述元素属性获取每组xpath中的元素构成;
基于所述数据特征和元素构成反向推出每个xpath所对应内容。
优选的,获取每组xpath总内容文本大小,筛选出文本最大的组,包括:
获取每组xpath的文本体量,根据每组xpath的文本体量确定该组xpath的总内容文本字符长度;
基于每组xpath的总内容文本大小和文本格式确定该组xpath的文本字符长度;
将每组xpath按照文本字符长度从长到短的顺序进行排序,获取排序结果;
根据排序结果选择文本字符长度最长的目标组作为文本最大的组。
优选的,筛选出文本最大的组之后,还包括:
利用基于flask搭建的web服务,将筛选文本相关的配置数据与后台交互;
通过分布式文件存储数据库在后台保存所述筛选文本相关的配置数据;
基于flask工具对筛选文本相关的配置数据进行封装;
将封装后的服务内置于通用爬虫系统中,供http调用获取新闻网页正文结果。
优选的,将所述文本最大的组作为xpath正文部分入库之后,还包括:
获取所有xpath形成的文本并进行段落划分,划分为多个段落块;
根据每个段落块的文本属性获得每个段落块的标签属性;
确定每个段落块的候选关键词的数量,获取每个候选关键词的关键词参数;
根据每个候选关键词的关键词参数确定该候选关键词与其所属的目标段落块的目标标签属性的目标关联度;
将目标关联度大于等于预设关联度的目标候选关键词进行筛选,获得每个段落块各自对应的当前数量个目标候选关键词;
解析每个目标候选关键词的特征因子;
基于特征因子,确定对应段落块基于同段落块中每个目标候选关键词的依赖度,并筛选依赖度大于等于预设阈值的期望候选关键词;
将所述每个段落块对应的期望候选关键词,确定为每个段落块内与所述标签属性相关的目标关键词;
利用目标关键词在文本中进行搜索,获得每个目标关键词所搜索出的关联文本;
对每个目标关键词所搜索出的关联文本进行解析,获取每个目标关键词的相关参数映射信息;
根据每个目标关键词的相关参数映射信息确定该目标关键词的价值指数;
在所有价值指数中选择最大价值指数,并将最大价值指数对应的目标关键词作为实体关键词;
利用预设词性解析方式解析所述实体关键词的目标词性;
根据所述实体关键词的目标词性确定所有xpath形成的文本的具体表达方法。
优选的,通过Scrapy爬虫框架工具获取新闻网站的xpath之前,还包括:
获取Scrapy爬虫框架工具搭载终端的配置信息和网络信息;
根据所述网络信息获取Scrapy爬虫框架工具搭载终端的每个数据接收节点的单次最大汇集数据量;
确定新闻网站的xpath中数据量最大的目标数据;
根据所述目标数据和每个数据接收节点的单次最大汇集数据量计算出Scrapy爬虫框架工具搭载终端的目标数据传输效率:
;其中,D表示为Scrapy爬虫框架工具搭载终端的目标数据传输效率,/>表示为Scrapy爬虫框架工具搭载终端预设的最大数据传输效率,/>表示为数据接收节点的数量,b表示为第b个数据接收节点,/>表示为第b个数据接收节点的单次最大汇集数据量,/>表示为第b个数据接收节点的网络跳变概率,/>表示为目标数据的数据总量,/>表示为Scrapy爬虫框架工具搭载终端的网络波动率,/>表示为自然常数,/>表示为Scrapy爬虫框架工具搭载终端的网络覆盖率,取值范围为0.7~0.9;
设置所述共享数据传输通道的数据传输效率为所述目标数据传输效率,设置完毕后,利用所述Scrapy爬虫框架工具搭载终端获取新闻网站的xpath。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于网页xpath获取新闻正文的通用方法的流程图;
图2为本发明实施例中一种基于网页xpath获取新闻正文的通用方法的另一流程图;
图3为通用爬虫流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1:
本发明提供一种基于网页xpath获取新闻正文的通用方法,如图1所示,该方法包括:
步骤1:通过Scrapy爬虫框架工具获取新闻网站的xpath;
步骤2:用k-means相似度聚类分组算法,将网页中的xpath进行分组,得到n组xpath;
步骤3:通过n组xpath中每组xpath反向推出每个xpath所对应内容;
步骤4:获取每组xpath总内容文本大小,筛选出文本最大的组;
步骤5:将所述文本最大的组作为xpath正文部分入库,实现对网页新闻正文内容的爬取。
该实施例中,Scrapy爬虫框架是指Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化文本的方法。
该实施例中,xpath指的是XML路径语言,是一种在XML 文本中查找信息,用来确定XML文本中某部分位置、遍历XML文本中的元素和属性的语言。
该实施例中,k-means相似度聚类分组算法预是指从数据集中随机选取k个初始聚类中心Ci(i≤1≤k),计算其余数据对象与聚类中心Ci的欧氏距离,找出离目标数据对象最近的聚类中心Ci,并将数据对象分配到聚类中心Ci所对应的簇中,然后计算每个簇中数据对象的平均值作为新的聚类中心,进行下一次迭代,直到聚类中心不再变化或达到最大的迭代次数时停止。
空间中数据对象与聚类中心间的欧氏距离计算公式为:
;其中,X是数据对象,/>为第i个聚类中心,m为数据对象的维度,/>为X的第j个属性值,/>为Ci的第j个属性值。
该实施例中,分组是指网页中正文部分内容xpath具有相同的特征,广告部分xpath也具有相同的特征,通过自动分组寻找其中的相似特征,可以将xpath分为不同的组。
该实施例中,对应内容包括:题目、正文、日期。
该实施例中,总内容文本大小是指每组xpath对应的文字多少。
其中,通过对大量新闻网站的观察发现大部分的新闻网站中,网页布局中正文部分文字是最多的。
该实施例中,爬取是指访问网站,并从网页获取信息,实现网页数据采集。
上述技术方案的有益效果是:通过采用Scrapy工具将新闻网页中所有xpath获取到,采用k-means相似度聚类分组算法将网页中的xpath进行分组,获取得到n类xpath组,通过xpath反向获取每组中每个xpath对应内容文字,并将每组中的xpath进行累加求和计算出每组xpath对应的总文字数,将文字数最多的组作为xpath正文部分入库,能够减少不同类型网站定制性规则的维护,扩大了适用新闻网站的范围,提升了新闻网页正文的爬取效率。
实施例2:
本发明提供一种基于网页xpath获取新闻正文的通用方法,如图2所示,通过Scrapy爬虫框架工具获取新闻网站的xpath,包括:
S01:确定目标新闻网站,并获取目标新闻网站网页html中的所有元素;
S01:通过Scrapy爬虫框架工具获取所述所有元素所对应的xpath;
其中,所有元素所对应的xpath的总数量为cx。
该实施例中,元素可以是标题、段落、链接以及图像。
该实施例中,元素所对应的xpath是指比如元素是标题,它的属性可以是表达新闻的主旨。
上述技术方案的有益效果是:通过获取目标新闻网站html中的所有元素,并利用爬虫弄框架工具获取元素对应的xpath,方便后期对xpath进行分组,加快对新闻网站的正文的获取。
实施例3:
本发明提供一种基于网页xpath获取新闻正文的通用方法,通过Scrapy爬虫框架工具获取新闻网站的xpath之后,还包括:
基于xpath语法分析,建立基于xpath语法元素及xpath语法字段规则库;
获取所述目标新闻网站中所有的xpath语法元素及xpath语法字段;
将获取的xpath语法元素及xpath语法字段输入到规则库中进行匹配,若匹配成功,则确定目标新闻网站的xpath合格,若匹配失败,则确定目标新闻网站的xpath不合格;
当确定目标新闻网站的xpath不合格时,发出数据异常提醒。
该实施例中,xpath语法元素包括:标识符、函数、运算符、标签以及注释。
该实施例中,xpath语法字段包括:字段、条件、命令。
该实施例中,匹配成功是指获取的xpath语法元素及xpath语法字段与规则库中的xpath语法元素和xpath语法字段的相似程度大于等于90%。
上述技术方案的有益效果是:通过xpath语法分析,建立基于xpath语法元素及xpath语法字段规则库,使规则库更加规范化,再通过将获取的xpath语法元素及xpath语法字段与规则库中的xpath语法元素和xpath语法字段进行匹配,能够及时获取到异常的数据,对异常数据进行及时处理。
实施例4:
本发明提供一种基于网页xpath获取新闻正文的通用方法,用k-means相似度聚类分组算法,将网页中的xpath进行分组,得到n组xpath,包括:
分别提取网页中的xpath中每个xpath的特征属性;
基于k-means相似度聚类分组算法根据每个xpath的特征属性进行相似聚类,获取多个聚类簇;
根据每个聚类簇中的第二划分xpath将网页中的xpath进行分组,得到n组xpath。
该实施例中,xpath的特征属性包括是指xpath对应的是符号、图像、或者是文字。
该实施例中,多个聚类簇是获取聚类中心,获取其他元素与聚类中心的欧氏距离,根据欧氏距离再次进行聚类获得的簇。
该实施例中,通过网站xpath总数cx自动设置分组数目n组,设置规则如下:
;
上述技术方案的有益效果是:通过提取每个xpath的特征属性,并与根据每个xpath的特征属性进行相似聚类,划分为多个聚类簇,能够将相同属性的xpath进行聚类,可以使后期xpath所对应内容的聚类奠定了基础。
实施例5:
本发明提供一种基于网页xpath获取新闻正文的通用方法,通过n组xpath中每组xpath反向推出每个xpath所对应内容,包括:
获取n组xpath中每组xpath的数据属性和元素属性;
基于所述数据属性获取每组xpath中的数据特征;
基于所述元素属性获取每组xpath中的元素构成;
基于所述数据特征和元素构成反向推出每个xpath所对应内容。
该实施例中,数据属性是指数据的类型,比如:文本、数字、日期。
该实施例中,数据特征是指数据的种类、容量、存在的价值大小。
该实施例中,元素属性包括:id、name、class。
该实施例中,元素构成可以是元素节点,通过节点选择器- `element()`来指定要选择的节点类型。
上述技术方案的有益效果是:通过每组xpath的数据属性获取数据特征,根据元素属性获取元素构成,基于数据特征和元素构成反向推出每个xpath所对应内容,能够准确获取到新闻正文、广告的具体内容,提高获取速度和获取准确率。
实施例6:
本发明提供一种基于网页xpath获取新闻正文的通用方法,获取每组xpath总内容文本大小,筛选出文本最大的组,包括:
获取每组xpath的文本体量,根据每组xpath的文本体量确定该组xpath的总内容文本字符长度;
基于每组xpath的总内容文本大小和文本格式确定该组xpath的文本字符长度;
将每组xpath按照文本字符长度从长到短的顺序进行排序,获取排序结果;
根据排序结果选择文本字符长度最长的目标组作为文本最大的组。
该实施例中,文本体量是指每组xpath反映的内容、篇章。
其中,比如A组xpath的总内容文本字符长度为100个字,B组xpath的总内容文本字符长度为200个字,那么就选取B组xpath作为目标组作为文本最大的组。
上述技术方案的有益效果是:通过每组xpath的文本体量确定该组xpath的总内容文本大小,再基于文本格式确定该组xpath的文本页数,将文本页数进行排序,选取文本最大的组,可以精准的对文本的页数和内容多少进行定位,提高了选取速度。
实施例7:
本发明提供一种基于网页xpath获取新闻正文的通用方法,获取每组xpath总内容文本大小,筛选出文本最大的组之后,还包括:
利用基于flask搭建的web服务,将筛选文本相关的配置数据与后台交互;
通过分布式文件存储数据库在后台保存所述筛选文本相关的配置数据;
基于flask工具对筛选文本相关的配置数据进行封装;
将封装后的服务内置于通用爬虫系统中,供http调用获取新闻网页正文结果。
该实施例中,flask是使用Python语言编写来搭建网络服务。
该实施例中,配置数据是指与筛选文本相关的数据,比如:格式筛选、数字筛选、文档前缀筛选。
上述技术方案的有益效果是:通过flask搭建的web服务,将筛选文本相关的配置数据通过分布式文件存储数据库在后台进行保存,利用flask工具对筛选文本相关的配置数据进行封装,并内置于通用爬虫系统中,能够避免因为新闻网站的形式变化多样而需要对不同类型网站进行规则库维护,出现耗费人力以及降低获取速度的问题。
实施例8:
本发明提供一种基于网页xpath获取新闻正文的通用方法,将所述文本最大的组作为xpath正文部分入库之后,还包括:
获取所有xpath形成的文本并进行段落划分,划分为多个段落块;
根据每个段落块的文本属性获得每个段落块的标签属性;
确定每个段落块的候选关键词的数量,获取每个候选关键词的关键词参数;
根据每个候选关键词的关键词参数确定该候选关键词与其所属的目标段落块的目标标签属性的目标关联度;
将目标关联度大于等于预设关联度的目标候选关键词进行筛选,获得每个段落块各自对应的当前数量个目标候选关键词;
解析每个目标候选关键词的特征因子;
基于特征因子,确定对应段落块基于同段落块中每个目标候选关键词的依赖度,并筛选依赖度大于等于预设阈值的期望候选关键词;
将所述每个段落块对应的期望候选关键词,确定为每个段落块内与所述标签属性相关的目标关键词;
利用目标关键词在文本中进行搜索,获得每个目标关键词所搜索出的关联文本;
对每个目标关键词所搜索出的关联文本进行解析,获取每个目标关键词的相关参数映射信息;
根据每个目标关键词的相关参数映射信息确定该目标关键词的价值指数;
在所有价值指数中选择最大价值指数,并将最大价值指数对应的目标关键词作为实体关键词;
利用预设词性解析方式解析所述实体关键词的目标词性;
根据所述实体关键词的目标词性确定所有xpath形成的文本的具体表达方法。
该实施例中,文本属性包括:颜色,缩进,行间距。
该实施例中,标签属性包括:宽度、高度、颜色、背景、字体。
该实施例中,关键词参数是指词语的某一种重要性质的量,比如A关键词在文本中的高度。
该实施例中,预设关联度是0.9。
该实施例中,根据每个候选关键词的关键词参数确定该候选关键词与其所属的目标段落块的目标标签属性的目标关联度:
;其中,/>表示为第i个段落块内第j个候选关键词与第i个段落块的目标标签属性的目标关联度,/>表示为平缓参数的参数值,取值为0.6,/>表示为划分的段落块的数量,/>,/>表示为第i个段落块的内容复杂度,取值为[0.5,0.9],/>表示为第i个段落块内第j个候选关键词的关键词参数的参数值,/>表示为第i个段落块的目标标签属性的参数的参数值。
该实施例中,特征因子是指目标候选关键词的特性,比如词性、属性。
其中,属性可能是数字、文字、表格或者是链接。
该实施例中,基于特征因子,确定对应段落块基于同段落块中每个目标候选关键词的依赖度:
;其中,/>表示为第i个段落块对于第i个段落块内第q个候选关键词的特征因子的依赖度,/>表示为第i个段落块内第q个候选关键词的特征因子对于第i个段落块的目标标签属性的参数的模糊相似度,/>表示为第i个段落块内第q个候选关键词与第i个段落块的目标标签属性的目标关联度,/>表示为第i个段落块内第q个候选关键词的特征因子的知识扩展系数。
该实施例中,预设阈值是0.95。
该实施例中,价值指数是指目标关键词对文本的重要度越高,则价值指数就越大。
该实施例中,目标词性可以是名词、动词、形容词、数词。
该实施例中,实体关键词指实体诸属性中,当某个属性或某几个属性的组合一旦有了取值,便能唯一确定实体集中的具体个体。
上述技术方案的有益效果是:通过计算出每个候选关键词与其所属的目标段落块的目标标签属性的目标关联度可以剔除掉一部分关联度较小的候选关键词,减少了后续计算的数据数量,进一步地,通过计算出每个段落块对于其对应的每个候选关键词的特征因子的依赖度可以确定对于每个段落块最重要的几个候选关键词,进而可以进一步地缩小查找范围,提高了后续选择实体关键词的效率。
实施例9:
本发明提供一种基于网页xpath获取新闻正文的通用方法,通过Scrapy爬虫框架工具获取新闻网站的xpath之前,还包括:
获取Scrapy爬虫框架工具搭载终端的配置信息和网络信息;
根据所述网络信息获取Scrapy爬虫框架工具搭载终端的每个数据接收节点的单次最大汇集数据量;
确定新闻网站的xpath中数据量最大的目标数据;
根据所述目标数据和每个数据接收节点的单次最大汇集数据量计算出Scrapy爬虫框架工具搭载终端的目标数据传输效率:
;其中,D表示为Scrapy爬虫框架工具搭载终端的目标数据传输效率,/>表示为Scrapy爬虫框架工具搭载终端预设的最大数据传输效率,/>表示为数据接收节点的数量,b表示为第b个数据接收节点,/>表示为第b个数据接收节点的单次最大汇集数据量,/>表示为第b个数据接收节点的网络跳变概率,/>表示为目标数据的数据总量,/>表示为Scrapy爬虫框架工具搭载终端的网络波动率,/>表示为自然常数,/>表示为Scrapy爬虫框架工具搭载终端的网络覆盖率,取值范围为0.7~0.9;
设置所述共享数据传输通道的数据传输效率为所述目标数据传输效率,设置完毕后,利用所述Scrapy爬虫框架工具搭载终端获取新闻网站的xpath。
该实施例中,配置信息是指Scrapy爬虫框架工具搭载终端的设备名称、型号、序列号。
该实施例中,网络信息是指Scrapy爬虫框架工具搭载终端使用的网络域名。
该实施例中,单次最大汇集数据量是指接收节点一次能接收的最多数据量。
上述技术方案的有益效果是:通过计算Scrapy爬虫框架工具搭载终端的目标数据传输效率可以保证对于每个数据接收节点的传输数据都可以稳定的接收到,同时还进一步地避免了数据在传输过程中的丢失情况,提高了稳定性和数据传输效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种基于网页xpath获取新闻正文的通用方法,其特征在于,该方法包括:
步骤1:通过Scrapy爬虫框架工具获取新闻网站的xpath;
步骤2:用k-means相似度聚类分组算法,将网页中的xpath进行分组,得到n组xpath;
步骤3:通过n组xpath中每组xpath反向推出每个xpath所对应内容;
步骤4:获取每组xpath总内容文本大小,筛选出文本最大的组;
步骤5:将所述文本最大的组作为xpath正文部分入库,实现对网页新闻正文内容的爬取;
其中将所述文本最大的组作为xpath正文部分入库之后,还包括:
获取所有xpath形成的文本并进行段落划分,划分为多个段落块;
根据每个段落块的文本属性获得每个段落块的标签属性;
确定每个段落块的候选关键词的数量,获取每个候选关键词的关键词参数;
根据每个候选关键词的关键词参数确定该候选关键词与其所属的目标段落块的目标标签属性的目标关联度;
将目标关联度大于等于预设关联度的目标候选关键词进行筛选,获得每个段落块各自对应的当前数量个目标候选关键词;
解析每个目标候选关键词的特征因子;
基于特征因子,确定对应段落块基于同段落块中每个目标候选关键词的依赖度,并筛选依赖度大于等于预设阈值的期望候选关键词;
将所述每个段落块对应的期望候选关键词,确定为每个段落块内与所述标签属性相关的目标关键词;
利用目标关键词在文本中进行搜索,获得每个目标关键词所搜索出的关联文本;
对每个目标关键词所搜索出的关联文本进行解析,获取每个目标关键词的相关参数映射信息;
根据每个目标关键词的相关参数映射信息确定该目标关键词的价值指数;
在所有价值指数中选择最大价值指数,并将最大价值指数对应的目标关键词作为实体关键词;
利用预设词性解析方式解析所述实体关键词的目标词性;
根据所述实体关键词的目标词性确定所有xpath形成的文本的具体表达方法。
2.根据权利要求1所述的基于网页xpath获取新闻正文的通用方法,其特征在于,通过Scrapy爬虫框架工具获取新闻网站的xpath,包括:
确定目标新闻网站,并获取目标新闻网站网页html中的所有元素;
通过Scrapy xpath;
其中,所有元素所对应的xpath的总数量为cx。
3.根据权利要求2所述的基于网页xpath获取新闻正文的通用方法,其特征在于,通过Scrapy爬虫框架工具获取新闻网站的xpath之后,还包括:
基于xpath语法分析,建立基于xpath语法元素及xpath语法字段规则库;
获取所述目标新闻网站中所有的xpath语法元素及xpath语法字段;
将获取的xpath语法元素及xpath语法字段输入到规则库中进行匹配,若匹配成功,则确定目标新闻网站的xpath合格,若匹配失败,则确定目标新闻网站的xpath不合格;
当确定目标新闻网站的xpath不合格时,发出数据异常提醒。
4.根据权利要求1所述的基于网页xpath获取新闻正文的通用方法,其特征在于,用k-means相似度聚类分组算法,将网页中的xpath进行分组,得到n组xpath,包括:
分别提取网页中的xpath中每个xpath的特征属性;
基于k-means相似度聚类分组算法根据每个xpath的特征属性进行相似聚类,获取多个聚类簇;
根据每个聚类簇中的第二划分xpath将网页中的xpath进行分组,得到n组xpath。
5.根据权利要求1所述的基于网页xpath获取新闻正文的通用方法,其特征在于,通过n组xpath中每组xpath反向推出每个xpath所对应内容,包括:
获取n组xpath中每组xpath的数据属性和元素属性;
基于所述数据属性获取每组xpath中的数据特征;
基于所述元素属性获取每组xpath中的元素构成;
基于所述数据特征和元素构成反向推出每个xpath所对应内容。
6.根据权利要求1所述的基于网页xpath获取新闻正文的通用方法,其特征在于,获取每组xpath总内容文本大小,筛选出文本最大的组,包括:
获取每组xpath的文本体量,根据每组xpath的文本体量确定该组xpath的总内容文本大小;
基于每组xpath的总内容文本大小和文本格式确定该组xpath的文本字符长度;
将每组xpath按照文本字符长度从长到短的顺序进行排序,获取排序结果;
根据排序结果选择文本字符长度最长的目标组作为文本最大的组。
7.根据权利要求1所述的基于网页xpath获取新闻正文的通用方法,其特征在于,筛选出文本最大的组之后,还包括:
利用基于flask搭建的web服务,将筛选文本相关的配置数据与后台交互;
通过分布式文件存储数据库在后台保存所述筛选文本相关的配置数据;
基于flask工具对筛选文本相关的配置数据进行封装;
将封装后的服务内置于通用爬虫系统中,供http调用获取新闻网页正文结果。
8.根据权利要求1所述的基于网页xpath获取新闻正文的通用方法,其特征在于,通过Scrapy爬虫框架工具获取新闻网站的xpath之前,还包括:
获取Scrapy爬虫框架工具搭载终端的配置信息和网络信息;
根据所述网络信息获取Scrapy爬虫框架工具搭载终端的每个数据接收节点的单次最大汇集数据量;
确定新闻网站的xpath中数据量最大的目标数据;
根据所述目标数据和每个数据接收节点的单次最大汇集数据量计算出Scrapy爬虫框架工具搭载终端的目标数据传输效率:
;其中,D表示为Scrapy爬虫框架工具搭载终端的目标数据传输效率,/>表示为Scrapy爬虫框架工具搭载终端预设的最大数据传输效率,/>表示为数据接收节点的数量,b表示为第b个数据接收节点,/>表示为第b个数据接收节点的单次最大汇集数据量,/>表示为第b个数据接收节点的网络跳变概率,/>表示为目标数据的数据总量,/>表示为Scrapy爬虫框架工具搭载终端的网络波动率,/>表示为自然常数,/>表示为Scrapy爬虫框架工具搭载终端的网络覆盖率,取值范围为0.7~0.9;
设置共享数据传输通道的数据传输效率为所述目标数据传输效率,设置完毕后,利用所述Scrapy爬虫框架工具搭载终端获取新闻网站的xpath。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311344752.5A CN117573959B (zh) | 2023-10-17 | 2023-10-17 | 一种基于网页xpath获取新闻正文的通用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311344752.5A CN117573959B (zh) | 2023-10-17 | 2023-10-17 | 一种基于网页xpath获取新闻正文的通用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117573959A CN117573959A (zh) | 2024-02-20 |
CN117573959B true CN117573959B (zh) | 2024-04-05 |
Family
ID=89885155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311344752.5A Active CN117573959B (zh) | 2023-10-17 | 2023-10-17 | 一种基于网页xpath获取新闻正文的通用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573959B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017080090A1 (zh) * | 2015-11-14 | 2017-05-18 | 孙燕群 | 一种网页正文提取比对方法 |
KR102107474B1 (ko) * | 2019-11-15 | 2020-05-28 | (주)유엠로직스 | 크롤링을 통한 사회이슈 도출 시스템 및 그 도출 방법 |
CN111723265A (zh) * | 2020-07-01 | 2020-09-29 | 杭州叙简科技股份有限公司 | 一种可扩展的新闻网站通用爬虫方法及系统 |
CN114443928A (zh) * | 2022-01-25 | 2022-05-06 | 西藏民族大学 | 一种网络文本数据爬虫方法与系统 |
CN114491206A (zh) * | 2022-01-04 | 2022-05-13 | 电子科技大学 | 一种用于新闻博客类网站的通用低代码爬虫方法及系统 |
-
2023
- 2023-10-17 CN CN202311344752.5A patent/CN117573959B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017080090A1 (zh) * | 2015-11-14 | 2017-05-18 | 孙燕群 | 一种网页正文提取比对方法 |
KR102107474B1 (ko) * | 2019-11-15 | 2020-05-28 | (주)유엠로직스 | 크롤링을 통한 사회이슈 도출 시스템 및 그 도출 방법 |
CN111723265A (zh) * | 2020-07-01 | 2020-09-29 | 杭州叙简科技股份有限公司 | 一种可扩展的新闻网站通用爬虫方法及系统 |
CN114491206A (zh) * | 2022-01-04 | 2022-05-13 | 电子科技大学 | 一种用于新闻博客类网站的通用低代码爬虫方法及系统 |
CN114443928A (zh) * | 2022-01-25 | 2022-05-06 | 西藏民族大学 | 一种网络文本数据爬虫方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117573959A (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353030B (zh) | 基于旅游领域知识图谱的知识问答检索方法及装置 | |
CN109271477B (zh) | 一种借助互联网构建分类语料库的方法及系统 | |
US9317613B2 (en) | Large scale entity-specific resource classification | |
US7299247B2 (en) | Construction of trainable semantic vectors and clustering, classification, and searching using trainable semantic vectors | |
JP2022535792A (ja) | データフィールドのプロファイルデータからのデータフィールドの意味論的意味の発見 | |
US20100094835A1 (en) | Automatic query concepts identification and drifting for web search | |
US20090327249A1 (en) | Intellegent Data Search Engine | |
CN109947952B (zh) | 基于英语知识图谱的检索方法、装置、设备及存储介质 | |
CN103425687A (zh) | 一种基于关键词的检索方法和系统 | |
CN103678576A (zh) | 基于动态语义分析的全文检索系统 | |
WO2004013775A2 (en) | Data search system and method using mutual subsethood measures | |
WO2004013772A2 (en) | System and method for indexing non-textual data | |
WO2010014082A1 (en) | Method and apparatus for relating datasets by using semantic vectors and keyword analyses | |
CN110688474B (zh) | 基于深度学习与链接预测的嵌入表示获得及引文推荐方法 | |
CN108875065B (zh) | 一种基于内容的印尼新闻网页推荐方法 | |
CN111625621B (zh) | 一种文档检索方法、装置、电子设备及存储介质 | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
CN116010552A (zh) | 一种基于关键词词库的工程造价数据解析系统及其方法 | |
CN116226494B (zh) | 一种用于信息搜索的爬虫系统及方法 | |
US20090150355A1 (en) | Software method for data storage and retrieval | |
CN112328738A (zh) | 语音检索方法、终端设备及可读存储介质 | |
CN117573959B (zh) | 一种基于网页xpath获取新闻正文的通用方法 | |
CN113722460B (zh) | 指标数据入库方法、装置、设备及存储介质 | |
CN111666479A (zh) | 搜索网页的方法和计算机可读存储介质 | |
CN110941713A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |