本发明涉及一种数据采集、处理方法,特别是一种应用网络爬虫技术进行电力规划收资的数据采集、处理方法。
背景技术:
电力规划前需通过收集资料对电网的现状进行诊断分析。随着信息技术的普及,电网公司日常的生产、管理,都已实现信息化,而电力规划一直未能实现信息化,究其原因,电力规划所需的各项数据分布在各个信息系统上,如主网设备台账在pms、配网设备台账在配网pms系统、设备负载率等生产数据在idp600、电量、用户等营销类数据在用电采集系统,系统间数据互连互通难以实现。因此,目前电力规划收资方式还是人工从各个系统上收集数据,再利用excel等办公软件对数据进行加工,整个过程全部依靠人工完成,缺乏有效的信息技术支撑,效率低下。
技术实现要素:
本发明的目的在于克服现有技术的不足之处,而提供一种以网络数据采集机器人代替人工收集资料的方式,提高电力规划收资工作的效率;同时,通过特定的算法对数据进行甄别、处理,提高数据的处理效率的一种应用网络爬虫技术进行电力规划收资的数据采集、处理方法。
一种应用网络爬虫技术进行电力规划收资的数据采集、处理方法,(1)首先根据要采集的数据类型及其网站来源确定采集方式,包括以下几种数据集采集方式:35kv及以上电网设备数据来源于pms2.0,用selenium库采集;35kv及以上电网设备、10kv线路负荷及负载率等数据来源于idp600,用bs4库采集;10kv及以下台变设备数据、负荷及负载率等数据来源于用电采集系统,用pyamf库采集;
(2).确定采集方式后,针对每种采集方式,编制不同的采集模块
①.导入相应的库后,调查要采集的网站的数据结构和获取方式,知道其数据结构和获取方式后,就可以模拟浏览器发送对应的报文及解析接收到的报文;
②.调查清楚网站的数据结构和获取方式后,模拟登陆网站,登陆成功后记录cookies信息,后续的报文发送需要此信息;
③模拟浏览器发送数据获取请求(同时发送cookies信息),收到数据后对收到的数据进行解析、判断,如果与预期的数据不一致或者未收到数据,说明对网站的数据结构和获取方式的调查有误,需重新调查;
④收到预期数据后,要同时根据收到的数据中的cookies信息对原有的cookies信息进行更新,
⑤检查是否收到了所有数据,如果没有,重复③、④步骤直到收到所要采集的所有数据;
(3).分别对要采集的数据调用相应的采集模块进行采集,采集到数据后对数据进行清洗,清洗指的是将数据转换成所需要的格式,清洗后检查数据是否存在异常,如果存在异常,则对数据进行标示,人工对标示的异常数据进行检查、修正,修正后的数据再加入数据库,如无异常,则直接将清洗后的数据存入数据库;
(4).对数据进行加工,创建关联数据库,将不同的数据源获取的数据进行关联;
(5).数据应用:根据需要应用数据进行诊断分析、可视化展示。
步骤(2)中,调查的方法有两个,一是通过谷歌chrome浏览器的调试模式查看网页源码及解析发送和接收的报文,二是通过专门的报文解析软件(笔者用的是charles)解析报文,以方法一为主,当方法一无法解析时再采用方法二。
综上所述的,本发明相比现有技术如下优点:
本技术方法充分利用成熟的网络爬虫技术,自动从各个系统上采集电力规划所需的各类数据,并充分利用自动化技术都数据进行加工、处理,相比于现有技术,有以下优点:
一、提升效率、减少人工投入,采用本技术所采用的方法及技术后,可以实现数据收集、处理全自动化,无需人工介入,根据测算,效率可提升96%以上,原来由一个组(6~8人)耗时5~6个工作日方可完成的收资及数据整理工作,采用网络爬虫和自动化技术后1个工作日以内即可完成。
实现电网诊断常态化,现有技术下的电网诊断,因其繁杂的工作量,一般情况下一年只进行一次,而采用本技术的方法后,因其效率大幅提升,且无需人工介入,可以实现电网诊断常态化,及时发现电网发展中出现的新问题,以便于根据需要及时采取相应的措施。
附图说明
图1是本发明实施例的工作流程图。
图2是本发明的采集模块的工作流程图。
具体实施方式
下面结合实施例对本发明进行更详细的描述。
实施例1
首先根据要采集的数据类型及其网站来源确定采集方式,包括以下几种数据集采集方式:35kv及以上电网设备数据来源于pms2.0,用selenium库采集;35kv及以上电网设备、10kv线路负荷及负载率等数据来源于idp600,用bs4库采集;10kv及以下台变设备数据、负荷及负载率等数据来源于用电采集系统,用pyamf库采集。
确定采集方式后,针对每种采集方式,编制不同的采集模块
①.导入相应的库后,调查要采集的网站的数据结构和获取方式,知道其数据结构和获取方式后,就可以模拟浏览器发送对应的报文及解析接收到的报文。调查的方法有两个,一是通过谷歌chrome浏览器的调试模式查看网页源码及解析发送和接收的报文,二是通过专门的报文解析软件(笔者用的是charles)解析报文,以方法一为主,当方法一无法解析时再采用方法二。
②.调查清楚网站的数据结构和获取方式后,就可以模拟登陆网站,登陆成功后记录cookies信息,后续的报文发送需要此信息。
③模拟浏览器发送数据获取请求(同时发送cookies信息),收到数据后对收到的数据进行解析、判断,如果与预期的数据不一致或者未收到数据,说明对网站的数据结构和获取方式的调查有误,需重新调查。
④收到预期数据后,要同时根据收到的数据中的cookies信息对原有的cookies信息进行更新,
⑤检查是否收到了所有数据,如果没有,重复③、④步骤直到收到所要采集的所有数据。
分别对要采集的数据调用相应的采集模块进行采集,采集到数据后对数据进行清洗(清洗指的是将数据转换成所需要的格式),清洗后检查数据是否存在异常,如果存在异常,则对数据进行标示,人工对标示的异常数据进行检查、修正,修正后的数据再加入数据库,如无异常,则直接将清洗后的数据存入数据库。
对数据进行加工,创建关联数据库,将不同的数据源获取的数据进行关联。
数据应用:根据需要应用数据进行诊断分析、可视化展示等。
本实施例未述部分与现有技术相同。