本发明涉及互联网技术技术领域,具体为一种针对指定专家的信息爬取系统及方法。
背景技术:
互联网,又称网际网路,根据音译也被叫做因特网、英特网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一且巨大的全球化网络,在这个网络中有交换机、路由器等网络设备、各种不同的连接链路、种类繁多的服务器和数不尽的计算机、终端。使用互联网可以将信息瞬间发送到千里之外的人手中,它是信息社会的基础,随着互联网的兴起和发展,网络的信息量不断增加,在学术界,专家和学者的资料数量也变得越来越庞大,人们查找专家数据主要通过搜索引擎实现,但是通过通用搜索引擎很难直接找到自己感兴趣的专家的所有信息,此外一些学术专用搜索引擎也存在专家库不全的问题,在现有的网络爬虫技术中,一般方法是将网络上的专家数据集中爬取后存在数据库和云端中,但是这种方法需要占用较多的存储空间和服务器资源,也需要在数据的全面性和维护成本之间进行取舍。
综上所述,本发明提供一种针对指定专家的信息爬取系统及方法来解决存在的问题。
技术实现要素:
本发明的目的在于提供一种针对指定专家的信息爬取系统及方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种针对指定专家的信息爬取系统及方法,包括用户交互模块、候选列表爬取模块、专家信息爬取模块、数据清洗模块、数据结构化模块和专家画像模块。
优选的,包括以下步骤:
s1,用户输入想要搜索的专家姓名,选择添加专家所在机构提升数据的特异性,候选列表爬取模块读取用户的该输入,并分别通过学术专家网站进行候选专家列表爬取,将一定数量的候选列表返回给用户交互模块,并由用户最终确认指定的专家;
s2,专家信息爬取模块接收用户指定的专家数据作为输入,利用相关关键字在搜索引擎、学术搜索网站进行爬取,爬取到的数据流直接传递给数据清洗模块和数据结构化模块中;
s3,数据清洗模块接收专家信息爬取模块的数据流,通过正则表达式、strip函数、replace函数等进行数据降噪和清洗,数据结构化模块将数据流解析,根据来源网站和页面类型的不同,制定对应的解析方法,将解析好的数据存储在数据库中;
s4,专家画像模块接收到结构化数据后,按照预先准备好的画布模板对专家画像进行填充,将填充好的用户画像返回给用户交互模块,供用户确认,确认后则本流程结束。
优选的,所述s1中的学术专家网站包括谷歌学术、百度学术、researchgate等网站。
优选的,所述s2中爬取采用python的开源框架scrapy,并使用代理池和user-agent池。
优选的,所述s3中清洗包括清洗无意义的转义字符、标记符号、空行、回车等数据。
优选的,所述s3中解析的数据包括:专家姓名、专家机构、来源网站、专家id、研究领域、论文、被引总数、成果数量、h-index指数、g-index指数等。
与现有技术相比,本发明的有益效果是:
1、本发明中,通过设计解决了网络爬虫技术中,一般方法是将网络上的专家数据集中爬取后存在数据库和云端中,但是这种方法需要占用较多的存储空间和服务器资源,也需要在数据的全面性和维护成本之间进行取舍的问题,能准确的返回用户指定的专家信息,无需在搜索引擎中进行搜索和确认,节省了用户的时间成本。
2、本发明中,通过设计能整合多个数据源的专家数据,避免了在单一数据源中搜索不到对应专家的问题。
3、本发明中,通过设计将大量专家数据存储在数据库和云端的方式,可以节省大量的数据库空间和维护成本。
附图说明
图1为本发明系统方框结构示意图;
图2为本发明系统流程结构示意图。
图中:1-用户交互模块、2-候选列表爬取模块、3-专家信息爬取模块、4-数据清洗模块、5-数据结构化模块、6-专家画像模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:
一种针对指定专家的信息爬取系统及方法,包括用户交互模块1、候选列表爬取模块2、专家信息爬取模块3、数据清洗模块4、数据结构化模块5和专家画像模块6,用户交互模块1起作用在于,用于对用户的输入进行处理,对后台的处理结果进行输出展示给用户,候选列表爬取模块2起作用在,用于根据用户输入的专家信息,在不同的网络专家数据网站中爬取符合要求的专家,并返回给用户交互模块供用户进一步选择,专家信息爬取模块3起作用在于,用于根据用户选择好的指定专家信息,在多个学术专家网站中进行数据爬取,数据清洗模块4起作用在于,用于对专家信息爬取模块3获取的数据进行降噪处理,对原网页无意义的转义字符、标记符号、空行、回车等数据进行清洗,数据结构化模块5起作用在于,用于将专家信息爬取模块3获得的网页进行解析,得到格式化的数据,针对不同的数据源网站,匹配不同的结构化方法,专家画像模块6起作用在于,用于将结构化的数据的不同类型数据填充导画像的画布中,最终形成专家的画像,将结果返回给用户。
本发明工作流程:
步骤1,用户输入想要搜索的专家姓名,可以选择添加专家所在机构提升数据的特异性,候选列表爬取模块2负责读取用户的该输入,并分别在谷歌学术、百度学术、researchgate等网站进行候选专家列表爬取,将一定数量的候选列表返回给用户交互模块1,并由用户最终确认指定的专家;
步骤2,专家信息爬取模块3接收用户指定的专家数据作为输入,利用相关关键字在搜索引擎、学术搜索网站进行爬取,爬取采用python的开源框架scrapy,并使用代理池和user-agent池,爬取到的数据流直接传递给数据清洗模块3和数据结构化模块4中;
步骤3,数据清洗模块4接收专家信息爬取模块3的数据流,通过正则表达式、strip函数、replace函数等进行数据降噪和清洗,主要清洗无意义的转义字符、标记符号、空行、回车等数据,数据结构化模块5将数据流解析,根据来源网站和页面类型的不同,制定对应的解析方法,将解析好的数据存储在数据库中,解析的数据包括:专家姓名、专家机构、来源网站、专家id、研究领域、论文、被引总数、成果数量、h-index指数、g-index指数等;
步骤4,专家画像模块6接收到结构化数据后,按照预先准备好的画布模板对专家画像进行填充,将填充好的用户画像返回给用户交互模块1,供用户确认,确认后则本流程结束,此过程通过设计解决现有的网络爬虫技术中,将网络上的专家数据集中爬取后存在数据库和云端中,但是这种方法需要占用较多的存储空间和服务器资源,也需要在数据的全面性和维护成本之间进行取舍,从而能准确的返回用户指定的专家信息,无需在搜索引擎中进行搜索和确认,节省了用户的时间成本,能整合多个数据源的专家数据,避免了在单一数据源中搜索不到对应专家的问题同时将大量专家数据存储在数据库和云端的方式,能够节省大量的数据库空间和维护成本。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。