首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SG186通用数据解析工具

看到解析,不要以为是什么高大上的东西,其实就是为了导出数据而写的一个工具。

之前文章提到过用正则表达式(

文章链接

)导出SG186的数据,那么今天来介绍一个新的东西。

这里普及一个知识点,一般SG186 get请求返回可能是html格式的,post请求返回一般是json格式的,get是什么,post是什么我就不细说了,这是http协议的知识了。这里的工具就使用json方式来解析我们需要的数据。

我们先看看工具界面,仅有2个输入框,一个是文本路径,一个是对象名称,我就先说这2个框如何“填”。

一.抓取数据包,得到文本文档

1.之前那篇正则表达式文章讲过了,这里再来讲下吧,浏览器打开186,输入用户名密码登录后,按F12打开开发者人员工具,点击“开始捕获”,按钮随即会变成“停止捕获”。

2.你需要哪个菜单下的数据,你就正常去点击就行。我们这里还是以上次的计量箱信息为例。点击“查询”后会得到数据,我们看看,一共有14663条数据,有15页,我这里只讲解第一页的数据获取。正则表达式方法也好,通用解析(json)也罢一般适用与数据量相对较小的比如数据页只有1~5页的,太多的话手动去抓取也比较麻烦,方法不做讲解,涉及到编程了。

3.这时候切换到开发者工具,我们会看到密密麻麻很多包,我们也不知道哪个是我们想要的,右上角有个框,可以进行搜索的,我们复制第一个资产编号到搜索框内搜索我们要的包。

4.搜索后会得到我们的包,那么他这个就是标准的json格式的,正好可以用上了。

5.将搜索到的包全选复制到一个文本文档并保存(装了notepad++的朋友需要注意编码格式,不能是utf-8不然会解析失败,默认的记事本不用管,复制粘贴保存就完事儿),我们待会儿要用到,这里就不用截图了吧。

二.获取对象名称

1.打开精易编程助手,点击网页功能->网页调试(或者打开编程助手目录内的Edbug.exe也是可以的)->json解析。

将我们刚才搜索到的包复制粘贴到工具内的左边淡黄色框内。

如果你的电脑配置低,那么就多等会儿吧,一般这些内容字符数都比较多。

2.点击“解析到树”,如果没有提示错误,那么就成功了,在右边也就能看到一层层的数据了,我们不需要手动去找我们需要的,工具提供了搜索的功能,复制我们刚才搜索包的那个资产编号去搜索就行了。

3.这里是重点了,获取这个对象名称,点击“rowSet:[Object]”,等到下面内容已经改变后,点击复制路径即可。特别注意的是,我们为什么要用页面出来的第一个资产去搜索,因为第一个一定是离对象名称最近的,我们资产这个值的上一级是一个对象,再上级是个数组,我们要的是数组上面的对象名称。

三.解析数据

1.有了第一步的文档,第二步的对象名称也有了,我们就开始解析数据。把刚才的文本文档拖入工具内,复制的对象名称粘贴到对象名称输入框内,点解析即可。

2.等到出现加载完成,可以导出了,就代表解析完成,你就可以导出表格了,你可以在表格里面筛选一下哪些是你要的。

3.嗯?这个标题英文的是什么?状态“合格在库”怎么没有?那么我们拿这个“合格在库”去搜一搜刚才的包。

那么我们搜索后发现状态码为006表示合格在库,007表示待修理,104表示不合格在库,108表示已留样。

其他的如“ASSET_NO”也可以搜一下,看看是什么意思。

看到没,这些字段全在这里了。

四.最后总结一下,因为是通用所以不可能做到面面俱到,尤其是最后的标题,字段名称的获取,个人建议没有太多基础的朋友或者是完全看不懂的,直接忽略掉最后的查询字段名称的步骤,需要哪些你就留哪些,然后对比浏览器页面上显示的数据来判断哪列是资产编号,哪列是状态,哪列是管理单位,其余不需要的删之。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190105G11AUY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券