一种招投标信息处理方法、系统和可读存储介质
技术领域
本发明涉及互联网招投标领域,更具体地,涉及一种招投标信息处理方法、系统和可读存储介质。
背景技术
企业在进行业务处理时需要经常处理招标信息,因此需要实时查看各个招标网站中招标公告最新动态。由此需要安排专门的人员负责监控,但是受限于人工查看信息的低效率,费时费力。而如何自动获取招投标信息是目前亟不可待要解决的。
发明内容
鉴于上述问题,本发明的目的是提供一种招投标信息处理方法、系统和可读存储介质,可自动、高效获取招投标信息。
为解决上述技术问题,本发明的技术方案如下:
本发明第一方面提供了一种招投标信息处理方法,包括以下步骤:
S1:从互联网采集招标信息,获取招标项目详情页链接入口;
S2:请求招标公告的详情页链接,获取招标项目的详情页,在详情页中,解析招标公告的发布时间以及招标公告的具体详情,根据预设的公告分类规则对招标公告进行分类,招标公告的类别包括以下任意一种或多种:公告变更、招标公告、中标信息、招标预告、招标答疑、招标文件、资审结果、法律法规、新闻资讯、拟建项目、展会推广、业主采购,然后存储到orcale数据库中对应分类的表中;
S3:提取招投标信息的要素,包括项目编号、项目名称、招标人、代理人、投标人。
本方案中,步骤S1中,采集招标信息是基于java语言开发的数据采集系统,框架基于开源的webmagic框架。
本方案中,步骤S1中,在招标信息采集的过程中,定位项目的汇总入口,根据特定的jsoup或者Xpath解析规则,或者正则表达式,来获取招标公告详情页链接入口。
本方案中,步骤S3中,提取招投标信息的要素,具体包括:
S31:对招标项目详情页的html数据进行处理,通过python第三方库bs4将html数据转换为文本数据;
S32:对文本数据进行分句;
S33:获取分句后的文本数据中每个字符所属的分类:
S34:通过匹配正常的项目编号和项目名称类别串,得到项目编号和项目名称;
S35:获取招标人、代理人、投标人。
本方案中,步骤S33-S34中,具体包括:
通过字向量+双向LSTM+CRF的深度学习模型得到每个字符所属的分类,具体是B_code,M_code,E_code,S_code,B_name,M_name,E_name,S_name,0这九种分类,分别表示编号开始字符,编号中间字符,编号末尾字符,单个编号字符,名称开始字符,名称中间字符,名称末尾字符,单个名称字符,普通字符;
通过匹配正常的项目编号和项目名称类别串,如B_code+M_code*n+E_code,B_name+M_name*n+E_name,最后得到项目编号和项目名称。
本方案中,步骤S35中,获取招标人、代理人、投标人,具体包括:
首先通过一个python的第三方库foolnltk识别企业名称,然后对存量公司,通过每个名称所出现位置拿到对应上下文,由这个上下文,通过深度学习模型(深度学习模型包括但不限于字向量+双向LSTM+softmax),识别出公司的分类,分类结果包括招标人、代理人、第一中标候选人、第二中标候选人、第三中标候选、无。
本方案中,所述方法还包括:
提供招标项目搜索界面,接收用户输入的搜索条件,根据搜索条件推送招标信息。例如,通过项目关键词、地区、公告发布时间、信息类别等条件搜索,也可以使用精准、模糊、智能等高级搜索模式全方位去搜索项目。
本方案中,所述方法还包括:
根据用户输入的搜索条件、推送时间和接收方式,自动推送招标信息。
本发明第二方面还提供一种招投标信息处理系统,包括:
入口获取模块:用于从互联网采集招标信息,获取招标项目详情页链接入口;
招标公告分类模块:用于请求招标公告的详情页链接,获取招标项目的详情页,在详情页中,解析招标公告的发布时间以及招标公告的具体详情,根据预设的公告分类规则对招标公告进行分类,招标公告的类别包括以下任意一种或多种:公告变更、招标公告、中标信息、招标预告、招标答疑、招标文件、资审结果、法律法规、新闻资讯、拟建项目、展会推广、业主采购,然后存储到orcale数据库中对应分类的表中;
招标信息提取模块:用于提取招投标信息的要素,包括项目编号、项目名称、招标人、代理人、投标人。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种招投标信息处理方法程序,所述招投标信息处理方法程序被处理器执行时,实现所述的招投标信息处理方法。
与现有技术相比,本发明技术方案的有益效果是:本发明提供一种招投标信息处理方法、系统和可读存储介质,从互联网采集招标信息,获取招标项目详情页链接入口;请求招标公告的详情页链接,解析招标公告的发布时间以及招标公告的具体详情,根据预设的公告分类规则对招标公告进行分类;提取招投标信息的要素,包括项目编号、项目名称、招标人、代理人、投标人。通过本发明的方法及系统可自动、高效获取招投标信息。
附图说明
图1为本发明实施例一种招投标信息处理方法的流程图。
图2为本发明实施例一种招投标信息处理系统的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
如图1所示,本发明公开了一种招投标信息处理方法,包括以下步骤:
S1:从互联网采集招标信息,获取招标项目详情页链接入口;
S2:请求招标公告的详情页链接,获取招标项目的详情页,在详情页中,解析招标公告的发布时间以及招标公告的具体详情,根据预设的公告分类规则对招标公告进行分类,招标公告的类别包括以下任意一种或多种:公告变更、招标公告、中标信息、招标预告、招标答疑、招标文件、资审结果、法律法规、新闻资讯、拟建项目、展会推广、业主采购,然后存储到orcale数据库中对应分类的表中;
S3:提取招投标信息的要素,包括项目编号、项目名称、招标人、代理人、投标人。
根据本发明实施例,步骤S1中,采集招标信息是基于java语言开发的数据采集系统,框架基于开源的webmagic框架。
需要说明的是,webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。webmagic包含页面抽取功能,开发者可以使用css selector、xpath和正则表达式进行链接和内容的提取,支持多个选择器链式调用。
根据本发明实施例,步骤S1中,在招标信息采集的过程中,定位项目的汇总入口,根据特定的jsoup或者Xpath解析规则,或者正则表达式,来获取招标公告详情页链接入口。
需要说明的是,jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言。最初是用来搜寻XML文档的,但同样适用于HTML文档的搜索。所以在做爬虫时完全可以使用XPath做相应的信息抽取。
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
根据本发明实施例,步骤S3中,提取招投标信息的要素,具体包括:
S31:对招标项目详情页的html数据进行处理,通过python第三方库bs4将html数据转换为文本数据;
S32:对文本数据进行分句;
S33:获取分句后的文本数据中每个字符所属的分类:
S34:通过匹配正常的项目编号和项目名称类别串,得到项目编号和项目名称;
S35:获取招标人、代理人、投标人。
需要说明的是,bs4全称是Beatiful Soup,它提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。能够自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。
根据本发明实施例,步骤S33-S34中,具体包括:
通过字向量+双向LSTM+CRF的深度学习模型得到每个字符所属的分类,具体是B_code,M_code,E_code,S_code,B_name,M_name,E_name,S_name,O,共九种分类,分别表示编号开始字符,编号中间字符,编号末尾字符,单个编号字符,名称开始字符,名称中间字符,名称末尾字符,单个名称字符,普通字符;
通过匹配正常的项目编号和项目名称类别串,如B_code+M_code*n+E_code,B_name+M_name*n+E_name,最后得到项目编号和项目名称。
根据本发明实施例,步骤S35中,获取招标人、代理人、投标人,具体包括:
首先通过一个python的第三方库foolnltk识别企业名称,然后对存量公司,通过每个名称所出现位置拿到对应上下文,由这个上下文,通过深度学习模型(深度学习模型包括但不限于字向量+双向LSTM+softmax),识别出公司的分类,分类结果包括招标人、代理人、第一中标候选人、第二中标候选人、第三中标候选、无。
根据本发明实施例,所述方法还包括:
提供招标项目搜索界面,接收用户输入的搜索条件,根据搜索条件推送招标信息。例如,通过项目关键词、地区、公告发布时间、信息类别等条件搜索,也可以使用精准、模糊、智能等高级搜索模式全方位去搜索项目。
根据本发明实施例,所述方法还包括:
根据用户输入的搜索条件、推送时间和接收方式,自动推送招标信息。
如图2所示,本发明公开了一种招投标信息处理系统,包括:
入口获取模块:用于从互联网采集招标信息,获取招标项目详情页链接入口;
招标公告分类模块:用于请求招标公告的详情页链接,获取招标项目的详情页,在详情页中,解析招标公告的发布时间以及招标公告的具体详情,根据预设的公告分类规则对招标公告进行分类,招标公告的类别包括以下任意一种或多种:公告变更、招标公告、中标信息、招标预告、招标答疑、招标文件、资审结果、法律法规、新闻资讯、拟建项目、展会推广、业主采购,然后存储到orcale数据库中对应分类的表中;
招标信息提取模块:用于提取招投标信息的要素,包括项目编号、项目名称、招标人、代理人、投标人。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种招投标信息处理方法程序,所述招投标信息处理方法程序被处理器执行时,实现所述的招投标信息处理方法。
本发明公开一种招投标信息处理方法、系统和可读存储介质,从互联网采集招标信息,获取招标项目详情页链接入口;请求招标公告的详情页链接,解析招标公告的发布时间以及招标公告的具体详情,根据预设的公告分类规则对招标公告进行分类;提取招投标信息的要素,包括项目编号、项目名称、招标人、代理人、投标人。通过本发明的方法及系统可自动、高效获取招投标信息。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:数据处理方法与装置