python dash html.table_总结笔记:用Python+Web前端做个dashboard

不知不觉,在b站(哔哩哔哩)做了一段时间的萌新up主了。(虽然是萌新,但是还是有颗想当大V的心的)古人云:工欲善其事,必先利其器。“器”在这里我定义为数据分析,用数据驱动产品。

哔哩哔哩的创作中心数据趋势只展示七天以内的数据。于是萌生出写一个dashboard,把哔哩哔哩和YouTube的数据都放在mysql,用dashboard展示,还能从mysql拉历史数据,从不同纬度进行数据分析。

最下边有完整源码的github地址

第一个版本的demo长这样:

开始写dashboard

图表的生成用到了pyecharts的库,官方提供了个生成html的render()方法和生成多图的page()方法,但是只能固定排列样式。temp传入后,要多图也只能for循环,不能固定样式。

于是,到pyecharts源码,添加了个render_html_content()方法,作用是,生成一个包含图表html代码的对象。然后就可以和python3,format()方法结合生成index.html

注:web前端用了开源的keen/dashboards

format()技巧:

例如我们在html_temp.html写个{all},读取html_temp内容作为obj对象

然后obj.format(all=all),右边的all是html内容,执行后,就可以把{all}替换为html内容。

pyecharts源码修改:

(如何找到pip3安装的第三方库的地址?)

运行python3,

import pyecharts

pyecharts

就有地址了

修改render/engine.py

并在render类添加个render_html_content()函数

修改charts/base.py

image

并在base类添加个render_html_content()函数

在render/templates添加个temp.html

这个temp.html 去掉了等标签,只输出图表的html代码

这时只需要调用

图表对象.render_html_content(template_name="temp.html")

html_obj.format(all=all)

就可以把图表html替换掉模版html的{all}

获取哔哩哔哩数据:

光有图表没数据可不行

以下几个公开的API可以获取播放量、粉丝数、点赞等数据

我们可以先建一个bilibili表,然后把数据插入进去

表结构为:

获取数据的python脚本:

Python获取近五天日期的列表:

最后附上生成dashboard脚本:

完整源码的github地址:

参考文献:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值