码迷,mamicode.com
首页 > 其他好文 > 详细

puppeteer+electron 做一个基金分析软件

时间:2020-04-19 23:43:50      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:mamicode   child   fs模块   模块   展示   数据   ima   nbsp   可视化   

这段时间在忙着写一个web端3D可视化编辑的项目(其实也只是有空闲并且心血来潮的时候才会去写的)和其他个人爱好相关的事情;

so,看一下目前项目进度的相关截图:

技术图片

其实就是将echarts的配置图形化,目前暂且写了4个组件。

然后,上个礼拜发现余额宝的收益已经跌破2%了,于是抱着玩玩的心态连夜找了一只基金(买得少),两天下来,居然涨了100来块钱,感觉就像是捡到??了。

于是趁着周末的时间,用puppeteer+electron写了个分析软件。

1.基金公司列表

技术图片

2.基金公司的基金列表

技术图片

3.指定基金历年收益情况

技术图片

 

4.自助选股

技术图片

其中,自助选股可以根据指定的上涨率参数(这个数据是我个人对基金历史走势计算出来的测评数据值),来对指定基金源(这里选取了150+基金公司中评级在5星的公司的所有基金,4021只基金)进行筛选;

我筛选了一次,上涨率指定为0.7的话,4021只基金里面大概能筛选出200只基金;

然后点击筛选出来的基金,可以进一步看到该基金的历史收益趋势图,进行进一步的人为主观筛选。

当然了,4021只基金数据由于是实时线上爬取的,所以在单线程的情况下大概要1个小时,开了4个线程跑的时候电脑温度直逼90℃,1分钟能跑将近200个基金,但是到后面就慢了下来,应该是网站那边做了限制?没深究,然后又换回单线程去跑了。

 

技术细节:

1.在拿指定基金历年收益情况数据的时候,发现网站采用的是jsonp,直接调用会有限制,于是在puppeteer里做了模拟点击,并且对请求做了拦截处理,从而获取指定请求的响应内容,然后就是对jsonp请求响应内容转json的处理。

2.数据存储方面,node脚本用的是fs模块,h5页面用的是Blob对象和file-saver库,将抓取的数据转json存储本地。

3.利用node的child_process模块相关函数(execFile、exec)执行js脚本。

4.electron的ipcMain和ipcRenderer之间的数据通信,主要用于将主进程中node执行的爬虫脚本结果发送给渲染进程(h5页面)用于数据展示。

 

puppeteer+electron 做一个基金分析软件

标签:mamicode   child   fs模块   模块   展示   数据   ima   nbsp   可视化   

原文地址:https://www.cnblogs.com/eco-just/p/12735046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!