项目以Node-RED为框架,通过HTTP请求官方的网签数据,通过cheerio解析HTML数据,保存到CSV文件中,最后使用ECharts显示出来。(至于为什么不用官方的Dashboard,只能说还是ECharts效果更丰富,API更有好)。
这个项目经过改造可以用来监控任何网页的数据,例如,家中用电量、用水量等等,全看自己折腾了。
流程
主要流程
- 注入节点触发整个流程(间隔1小时,请求太频繁了也不好,容易被封,其次也没必要)
- 向对应的连接发起GET请求,获取HTML数据
- 使用CherrIO解析HTML数据,此处主要通过Selector进行定位
- 将解析出的数据保存到本地的CSV文件中,以便查看历史数据
- 保存完成后使用ECharts对数据进行渲染,绘制出折线图
当打开Dashboard时,由于没有执行对应的JavaScript,会导致图表没有渲染。
该问题可以通过UI Control监听Change事件,当打开新的页面后,会产生Change事件,此时渲染图表就可以正确显示。
下面对几个稍微有点困难的节点具体展开