这是一篇正经的技术文 只是利用了生活中大家比较好奇的点写了一篇文章 博君一笑
支付宝基金关注度在这俩年可第一名,投了钱,大家随时随刻关注着,为了便利大家(也是为了自己)在上班的时间 随时查看基金消息
食色人之性也,你难道就不想知道她们的爱好吗?
重点来了:
基金
在命令行查看 fund 估值的命令行工具,通过输入 fund 编号和名称,立刻查询每个时间段的估值。
安装工具:
pip install fundgz
使用:
> fundgz
Usage: fundgz [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
add
delete
run
命令行输入 fundgz 命令,可以查看命令的简介,可以看到它提供了三个子命令:
> fundgz add
正在添加 fund 文档,ctrl+d 退出
请输入fund 编号: 078943
请输入fund 名称: test
输入 fundgz add 命令,终端会提示输入 fund 编号和名称,输入完成后,可以按 ctrl+d 退出。
fundgz delete 命令删除录入文档的编号
fundgz run 命令就是根据之前存入的文档执行查询了:
在终端会展示结果表格
思路
- 在终端录入 fund code 并保存至临时文件中
- 查询临时文件,提取其中的 fund code 列表
- 通过 code 列表,批量查询 fund 当日的估值信息
- 在终端列表展示
技术栈
python3.7 版本
数据抓取 - asyncio + aiohttp
命令行工具 - click + inquirer
终端展示 - rich
打包发布 - setuptools
click + inquirer 终端工具
使用 click.group() 创建命令组,实现 add, delete 和 run 命令
@click.group()
def fc():
pass
@fc.command()
def run():
pass
@fc.command()
def add():
pass
@fc.command()
def delete():
pass
fc()
@fc.command() 是为了替代 fc.add_command(run) ,这样写更加优雅
@click.command()
def run():
pass
fc.add_command(run)
inquirer 库是交互式工具,提供了很多便利的操作,这次使用的是 list 选择。
执行 fundgz delete 选择要删除的 code:
del_list = [
inquirer.List('del',