[发明专利]一种基于多数据源的论文数据爬取方法及系统有效
申请号: | 201910916820.8 | 申请日: | 2019-09-26 |
公开(公告)号: | CN110704713B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 崔佳;张仰森;李超;纪玉春;马欢;缪亚男;侯晋升 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心;北京信息科技大学 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;G06F16/955 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 100029*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多数 论文 数据 方法 系统 | ||
1.一种基于多数据源的论文数据爬取取方法,其特征在于包括以下步骤:
Step1..获取待抓取任务的关键词,将其组织成任务发送到网页源码抓取模块的待抓取关键词队列;
Step2.将待抓取任务所需的参数替换进各数据源的检索结果页面URL中以完成指定页面URL的替换,并根据不同的数据源将任务分配到对应的待下载任务队列中;
Step3.使用网页源码下载器从待下载任务队列中取得任务,并进行源码的下载;
Step4.网页源码收集分类器从源码下载器的完成队列中取出网页源码,并根据网页源码的格式特点将源码分成论文详情页源码和检索结果页源码;
检索结果源码的后续处理转Step5,论文详情页源码的后续处理转Step7;
Step5.解析检索结果页面中的论文数据,并组织为任务发送给论文详情页任务调度器;
Step6.论文详情页任务调度器接收到任务后,使用分配算法将任务均衡地分发到不同的数据源待下载队列,转Step3;
Step7.针对不同的数据源将论文数据从论文详情页源码中解析出来;
Step8.将论文数据结果存储进数据库;
其中,Step6.包括如下的步骤,
Step61.数据去重;
用HashSet作为存储数据结构,使用针对论文基础信息设计的实体类作为存储的元素,该实体类包含一个代表数据源的source成员变量;
在一个新任务进入程序后,先查询它是否存在于当前数据集合中,若不存在则直接添加;若已存在,则取出该元素,在它的source字段中加入新的数据源后再次存入。
Step62.为每个数据源的待下载队列分配均衡的任务量。
2.根据权利要求1所述的的基于多数据源的论文数据爬取方法,其特征在于:
Step62.步骤包括,
Step621.从待处理任务集合中取出任务;
Step622.读取该任务的可用数据源集合;
Step623.逐一查看集合中各数据源当前的待下载队列大小;
Step623.选择待下载队列大小最小的数据源,将该任务添加到该数据源的待下载队列末尾。
3.根据权利要求2所述的基于多数据源的论文数据爬取方法,其特征在于:Step1.中,待抓取任务的关键词从用户的检索输入,或者是从关键词配置文件中得到。
4.根据权利要求3所述的基于多数据源的论文数据爬取方法,其特征在于:网页源码下载器由多个子线程构成,子线程个数和数据源的个数相同并分别对应相应的数据源。
5.根据权利要求4所述的基于多数据源的论文数据爬取方法,其特征在于:Step5.的方法为,利用检索结果列表中包括作者,单位,期刊名,发表时间,论文的网站id在内的论文信息拼接出论文详情页URL,并使用论文名,论文详情页URL,数据源三个字段组织成论文详情页任务,发送给论文详情页任务调度器。
6.根据权利要求5所述的基于多数据源的论文数据爬取方法,其特征在于:
Step7.针对不同的数据源将论文数据从论文详情页源码中解析出来,其规则为,将论文在数据库中的id、论文中文题目、论文英文题目、论文中文摘要、论文作者、论文中文关键词、作者单位、期刊中文名、基金项目、发表日期和入库时间的数据字段统一。
7.根据权利要求3或4所述的基于多数据源的论文数据爬取方法,其特征在于:Step8.将论文数据结果存储进数据库还包括布隆过滤器去重的过程。
8.一种基于多数据源的论文数据爬取系统,其特征在于:其包括四个模块:任务组织管理模块、网页源码抓取模块、论文数据抽取模块以及网页检索展示模块,
其中,任务组织管理模块用以实现Step1.获取待抓取任务的关键词,将其组织成任务发送到网页源码抓取模块的待抓取关键词队列;
网页源码抓取模块用以实现Step2.待抓取任务所需的参数替换进各数据源的检索结果页面URL中以完成指定页面URL的替换,并根据不同的数据源将任务分配到对应的待下载任务队列中;Step3.使用网页源码下载器从待下载任务队列中取得任务,并进行源码的下载;Step4.网页源码收集分类器从源码下载器的完成队列中取出网页源码,并根据网页源码的格式特点将源码分成检索结果页源码和论文详情页源码;以及Step6.论文详情页任务调度器接收到任务后,使用分配算法将任务均衡地分发到不同的数据源待下载队列,转Step3;
论文数据抽取模块用以实现Step5.解析检索结果页面中的论文数据,并组织为任务发送给论文详情页任务调度器;Step7.针对不同的数据源将论文数据从论文详情页源码中解析出来;以及Step8.将论文数据结果存储进数据库;
网页检索展示模块用以实现Step9.将结果反馈至前台展示界面,以及承担进入Step1的用户检索;
其中,Step6.包括如下的步骤,
Step61.数据去重;
用HashSet作为存储数据结构,使用针对论文基础信息设计的实体类作为存储的元素,该实体类包含一个代表数据源的source成员变量;
在一个新任务进入程序后,先查询它是否存在于当前数据集合中,若不存在则直接添加;若已存在,则取出该元素,在它的source字段中加入新的数据源后再次存入。
Step62.为每个数据源的待下载队列分配均衡的任务量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心;北京信息科技大学,未经国家计算机网络与信息安全管理中心;北京信息科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910916820.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置