1.本发明涉及面向建筑大数据信息采集领域,尤其涉及基于asyncio异步框架面向建筑大数据的采集方法及系统。
背景技术:2.互联网的飞速发展将社会带入数据高度发达且公开的信息时代,数据对于企业经营、政府决策及社会动态分析等具有极其重要的作用,而如何大规模、快速采集数据成为技术焦点。
3.网络爬虫是按照一定规则自动游走爬取互联网文本网页的程序或者脚本。文本数据大多嵌套于网页程序代码中。数据采集的效率直接决定数据的有效及时性,数据的快速采集成为重中之重。基于大数据平台的的互联网数据采集,可以有效适用于海量数据采集场景,为实现大规模分布式数据采集提供了工具,其架构主要包括信源管理、数据采集、数据传输、数据存储、系统监控等部分。
4.对于现有的网站,网站数据只能一条一条的点进去查询,也未开通相关字段的查询接口。若人为一条一条的查询,将消耗大量的人力和精力。
技术实现要素:5.针对上述问题,本发明提供基于asyncio异步框架面向建筑大数据的采集方法及系统。
6.本发明通过以下技术方案实现:基于asyncio异步框架面向建筑大数据的采集方法,包括以下步骤:s101. 采集企业列表,将企业详情的url,关联id,企业名称,企业法人,企业社会信用代码字段保存为一级字段;s102. 根据所采集的企业列表,再进入不同的接口采集企业纵深信息;s201. 采集项目列表,将项目详情的url,关联id字段保存为一级字段;s202. 根据所采集的项目列表,再进入项目详情不同的接口采集项目纵深信息;s301. 将采集的企业纵深信息和项目纵深信息,解析html页面或提取xhr,获取目标字段内容;s302. 将采集到的数据存入数据库;s303. 利用asyncio协程编写代码,提高数据采集效率;s304. 将采集到的数据进行数据整合;s305. 重新提供查询接口进行数据查询。
7.进一步的,所述企业纵深信息包括:企业人员信息,其字段包括人员类型、人员姓名、身份证号、注册专业、处理后的证书编号、发证机关、所属公司和来源网站;企业项目信息,其字段包括公司名称、项目名称、项目id、项目编号、项目所属地、
建设单位、url和来源网站;企业资质信息,其字段包括企业名称、资质类别、网站资质名称、处理后的资质名称、编号、发证日期、发证机构、有效期起、有效期止和来源网站名称;企业基本信息,其字段包括企业名称、企业id、曾用名、注册属地、企业详细地址、企业信用代码、企业成立时间、法人、注册资本、来源网址和url。
8.进一步的,所述企业人员信息拥有验证码或其他反爬措施时,则处理验证码或反爬措施。
9.进一步的,所述企业资质信息还包括步骤:对字段内的模糊字段进行解析处理,处理完成后对相应字段进行更新。
10.进一步的,所述项目纵深信息包括:项目基础信息,其字段包括项目名称、项目编码、项目所在省份、项目所在经纬度和立项文号;项目招投标信息,其字段包括项目名称、项目编码、项目中标通知书编号、招标类型、招标方式、中标日期和中标金额;项目变更信息,其字段包括项目名称、项目编码、项目变更日期和项目变更内容;项目施工图审信息,其字段包括项目名称、项目编码、项目代码和施工图审查编号;项目合同信息,其字段包括项目名称、项目编码、项目合同编号;项目竣工验收备案信息,其字段包括项目名称、项目编码、项目竣工验收备案;项目竣工验收信息,其字段包括项目名称、项目编码、项目竣工验收信息。
11.进一步的,所述步骤s301的获取目标字段内容,具体包括以下子步骤:s3011. 判断字段内容规范度,当字段内容规范时,执行步骤s302,当字段内容不规范时,执行步骤s3012;s3012. 对不规内容进行解析优化处理,并提取解析优化处理后的字段内容,执行步骤s302。
12.基于asyncio异步框架面向建筑大数据的采集系统,包括:企业列表信息采集模块,用于采集外部信息平台的企业列表信息;项目列表信息采集模块,用于采集外部信息平台的项目列表信息;企业列表信息处理模块,用于根据所采集的企业列表,再进入不同的接口采集企业纵深信息;项目列表信息处理模块,用于根据所采集的项目列表,再进入项目详情不同的接口采集项目纵深信息;字段处理模块,用于对企业纵深信息内的字段和项目纵深信息内的字段进行处理;数据库模块,用于将字段处理模块的数据进行存储;asyncio编写模块,用于利用asyncio协程,对数据库模块内的数据进行代码编写;数据查询接口模块,用于数据整合的数据重新提供查询接口,进行数据查询。
13.进一步的,所述企业纵深信息包括:企业人员信息,其字段包括人员类型、人员姓名、身份证号、注册专业、处理后的证
书编号、发证机关、所属公司和来源网站;企业项目信息,其字段包括公司名称、项目名称、项目id、项目编号、项目所属地、建设单位、url和来源网站;企业资质信息,其字段包括企业名称、资质类别、网站资质名称、处理后的资质名称、编号、发证日期、发证机构、有效期起、有效期止和来源网站名称;企业基本信息,其字段包括企业名称、企业id、曾用名、注册属地、企业详细地址、企业信用代码、企业成立时间、法人、注册资本、来源网址和url。
14.进一步的,所述项目纵深信息包括:项目基础信息,其字段包括项目名称、项目编码、项目所在省份、项目所在经纬度和立项文号;项目招投标信息,其字段包括项目名称、项目编码、项目中标通知书编号、招标类型、招标方式、中标日期和中标金额;项目变更信息,其字段包括项目名称、项目编码、项目变更日期和项目变更内容;项目施工图审信息,其字段包括项目名称、项目编码、项目代码和施工图审查编号;项目合同信息,其字段包括项目名称、项目编码、项目合同编号;项目竣工验收备案信息,其字段包括项目名称、项目编码、项目竣工验收备案;项目竣工验收信息,其字段包括项目名称、项目编码、项目竣工验收信息。
15.进一步的,所述字段处理模块包括:字段解析单元,用于对项目纵深信息和企业纵深信息的字段,解析html页面或提取xhr,获取目标字段内容;字段内容优化处理单元,用于对不规内容进行解析优化处理,并提取解析优化处理后的字段内容发送至asyncio编写模块。
16.本发明的有益效果:本发明聚合原官网的所有数据,将数据进行解析,处理后,可供用户进行条件筛选查询,节约大量的人力和精力。
附图说明
17.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明实施例提出的基于asyncio异步框架面向建筑大数据的采集方法的方法结构图;图2为本发明实施例提出的基于asyncio异步框架面向建筑大数据的采集的终端设备的结构示意图;图3为本发明实施例提出的基于asyncio异步框架面向建筑大数据的采集方法的计算机可读存储介质结构示意图。
具体实施方式
19.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
20.实施例1如图1,本实施例提出基于asyncio异步框架面向建筑大数据的采集方法,包括以下步骤:s101. 采集企业列表,将企业详情的url,关联id,企业名称,企业法人,企业社会信用代码字段保存为一级字段;s102. 根据所采集的企业列表,再进入不同的接口采集企业纵深信息;s201. 采集项目列表,将项目详情的url,关联id字段保存为一级字段;s202. 根据所采集的项目列表,再进入项目详情不同的接口采集项目纵深信息;s301. 将采集的企业纵深信息和项目纵深信息,解析html页面或提取xhr,获取目标字段内容;s302. 将采集到的数据存入数据库;s303. 利用asyncio协程编写代码,提高数据采集效率;s304. 将采集到的数据进行数据整合;s305. 重新提供查询接口进行数据查询。
21.进一步的,所述企业纵深信息包括:企业人员信息,其字段包括人员类型、人员姓名、身份证号、注册专业、处理后的证书编号、发证机关、所属公司和来源网站;企业项目信息,其字段包括公司名称、项目名称、项目id、项目编号、项目所属地、建设单位、url和来源网站;企业资质信息,其字段包括企业名称、资质类别、网站资质名称、处理后的资质名称、编号、发证日期、发证机构、有效期起、有效期止和来源网站名称;企业基本信息,其字段包括企业名称、企业id、曾用名、注册属地、企业详细地址、企业信用代码、企业成立时间、法人、注册资本、来源网址和url。
22.进一步的,所述企业人员信息拥有验证码或其他反爬措施时,则处理验证码或反爬措施。
23.进一步的,所述企业资质信息还包括步骤:对字段内的模糊字段进行解析处理,处理完成后对相应字段进行更新。
24.进一步的,所述项目纵深信息包括:项目基础信息,其字段包括项目名称、项目编码、项目所在省份、项目所在经纬度和立项文号;项目招投标信息,其字段包括项目名称、项目编码、项目中标通知书编号、招标类型、招标方式、中标日期和中标金额;项目变更信息,其字段包括项目名称、项目编码、项目变更日期和项目变更内容;项目施工图审信息,其字段包括项目名称、项目编码、项目代码和施工图审查编号;
项目合同信息,其字段包括项目名称、项目编码、项目合同编号;项目竣工验收备案信息,其字段包括项目名称、项目编码、项目竣工验收备案;项目竣工验收信息,其字段包括项目名称、项目编码、项目竣工验收信息。
25.进一步的,所述步骤s301的获取目标字段内容,具体包括以下子步骤:s3011. 判断字段内容规范度,当字段内容规范时,执行步骤s302,当字段内容不规范时,执行步骤s3012;s3012. 对不规内容进行解析优化处理,并提取解析优化处理后的字段内容,执行步骤s302。
26.其中,本实施例的数据来源可为多个外部官方信息平台。
27.实施例2在实施例1的基础上,本实施例进一步提出基于asyncio异步框架面向建筑大数据的采集系统,包括:企业列表信息采集模块,用于采集外部信息平台的企业列表信息;项目列表信息采集模块,用于采集外部信息平台的项目列表信息;企业列表信息处理模块,用于根据所采集的企业列表,再进入不同的接口采集企业纵深信息;项目列表信息处理模块,用于根据所采集的项目列表,再进入项目详情不同的接口采集项目纵深信息;字段处理模块,用于对企业纵深信息内的字段和项目纵深信息内的字段进行处理;数据库模块,用于将字段处理模块的数据进行存储;asyncio编写模块,用于利用asyncio协程,对数据库模块内的数据进行代码编写;数据查询接口模块,用于数据整合的数据重新提供查询接口,进行数据查询。
28.进一步的,所述企业纵深信息包括:企业人员信息,其字段包括人员类型、人员姓名、身份证号、注册专业、处理后的证书编号、发证机关、所属公司和来源网站;企业项目信息,其字段包括公司名称、项目名称、项目id、项目编号、项目所属地、建设单位、url和来源网站;企业资质信息,其字段包括企业名称、资质类别、网站资质名称、处理后的资质名称、编号、发证日期、发证机构、有效期起、有效期止和来源网站名称;企业基本信息,其字段包括企业名称、企业id、曾用名、注册属地、企业详细地址、企业信用代码、企业成立时间、法人、注册资本、来源网址和url。
29.进一步的,所述项目纵深信息包括:项目基础信息,其字段包括项目名称、项目编码、项目所在省份、项目所在经纬度和立项文号;项目招投标信息,其字段包括项目名称、项目编码、项目中标通知书编号、招标类型、招标方式、中标日期和中标金额;项目变更信息,其字段包括项目名称、项目编码、项目变更日期和项目变更内容;项目施工图审信息,其字段包括项目名称、项目编码、项目代码和施工图审查编
号;项目合同信息,其字段包括项目名称、项目编码、项目合同编号;项目竣工验收备案信息,其字段包括项目名称、项目编码、项目竣工验收备案;项目竣工验收信息,其字段包括项目名称、项目编码、项目竣工验收信息。
30.进一步的,所述字段处理模块包括:字段解析单元,用于对项目纵深信息和企业纵深信息的字段,解析html页面或提取xhr,获取目标字段内容;字段内容优化处理单元,用于对不规内容进行解析优化处理,并提取解析优化处理后的字段内容发送至asyncio编写模块。
31.实施例3如图2,在实施例1的基础上,本实施例提出一种基于asyncio异步框架面向建筑大数据的采集的终端设备,终端设备200包括至少一个存储器210、至少一个处理器220以及连接不同平台系统的总线230。
32.存储器210可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)211和/或高速缓存存储器212,还可以进一步包括只读存储器(rom)213。
33.其中,存储器210还存储有计算机程序,计算机程序可以被处理器220执行,使得处理器220执行本技术实施例中上述任一项一种基于asyncio异步框架面向建筑大数据的采集方法,其具体实现方式与上述方法的实施例中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。存储器210还可以包括具有一组(至少一个)程序模块215的程序/实用工具214,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
34.相应的,处理器220可以执行上述计算机程序,以及可以执行程序/实用工具214。
35.总线230可以为表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
36.终端设备200也可以与一个或多个外部设备240例如键盘、指向设备、蓝牙设备等通信,还可与一个或者多个能够与该终端设备200交互的设备通信,和/或与使得该终端设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口250进行。并且,终端设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与终端设备200的其它模块通信。应当明白,尽管图中未示出,可以结合终端设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储平台等。
37.实施例4如图3,在实施例1的基础上,本实施例提出基于asyncio异步框架面向建筑大数据的采集的计算机可读存储介质,所述计算机可读存储介质上存储有指令,该指令被处理器执行时实现上述任一的基于asyncio异步框架面向建筑大数据的采集方法。其具体实现方式与上述方法的实施例中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。
38.图3示出了本实施例提供的用于实现上述方法的程序产品300,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品300不限于此,在本实施例件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。程序产品300可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
39.计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言诸如java、c++等,还包括常规的过程式程序设计语言诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
40.以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。