前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用Python,制作疫情可视化大屏?

如何用Python,制作疫情可视化大屏?

作者头像
小F
发布2020-10-09 15:49:48
1.2K0
发布2020-10-09 15:49:48
举报

在3月初,小F写了一篇可视化教程的推文,其中提到了几个疫情的可视化大屏,视觉效果十分酷炫。

这期就来实战一波,并且将项目部署上线。

技术栈js+css+html+echarts+flask+mysql,效果大致如下~

这里要说明一下,项目的来源是「B站」。

如果你也想自己部署上线这么一个疫情可视化大屏,那么可以访问下面的小程序,就可以看到具体的教程。

这里又不得不吹一下小破站,干货真的好多。

不过项目中还是有一些问题存在,比如讲解不清楚又或者代码有问题。

第一个便是爬虫代码的更新

项目的部分数据是来源于「腾讯新闻的疫情实时追踪」,其中视频中的爬取代码已经失效,需要新增一个数据接口。

代码语言:javascript
复制
https://view.inews.qq.com/g2/getOnsInfo?name=disease_other
https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5

项目最新代码已经上传「GitHub」,阅读原文即可访问。

还有热搜的数据也是有所变化,标签发生了改变,数据来源于百度疫情热搜。

代码语言:javascript
复制
//*[@id="ptab-0"]/div/div[2]/section/div
//*[@id="ptab-0"]/div/div[2]/section/a/div/span[2]

第二个就是在本地远程连接服务器上的数据库

一开始按照视频里的方法,一直连接不上,折腾了小F好久。

查阅资料后才知道需要修改mysql的user表,设置远程连接权限。

还有就是成功连接上,插入数据,数据库的表格没反应。

最后将表格的类型从InnoBDB改为MYISAM就可以了,具体什么原因,就不太清楚了...

读取数据库数据时出现了Decimal类型的数据,通过Decimal.to_eng_string()解决。

代码语言:javascript
复制
data[0].to_eng_string(), data[1], data[2].to_eng_string(), data[3].to_eng_string()

第三个就是生产模式部署,视频中使用的是gunicorn,而我使用的则是uwsgi

只需将uwsgi.ini文件放在项目目录下,并在虚拟环境中运行即可。

这个在小F之前的几篇推文有提到过,可以翻翻看。

其中爬虫代码可以上传到服务器上,通过crontab定时运行,这样数据就能一直更新下去。

代码语言:javascript
复制
30 * * * * /root/app/test/env/bin/python3 /root/app/test/spider.py up_his >> /root/app/test/log_his 2>&1 &
3 */2 * * * /root/app/test/env/bin/python3 /root/app/test/spider.py up_hot >> /root/app/test/log_hot 2>&1 &
*/5 * * * * /root/app/test/env/bin/python3 /root/app/test/spider.py up_det >> /root/app/test/log_det 2>&1 &

记得加上虚拟环境的路径,这样程序才能运行成功。

还有一个需要加路径的地方就是selenium,视频里是C盘路径,我一个Linux服务器,肯定是不行的。

代码语言:javascript
复制
browser = webdriver.Chrome(options=chrome_options, executable_path='/usr/local/bin/chromedriver')

selenium、Chrome及驱动的具体安装,就需要问度娘啦!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 法纳斯特 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档