总要有人来改变世界的,为什么不能是你呢

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

这段时间在忙着写一个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页面)用于数据展示。

 

posted @   桔子桑  阅读(2103)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示