查看: 1530|回复: 11

[交流探讨] 我终于终于终于完成了英雄联盟LPL比赛数据可视化的项目!

[复制链接]
发表于 2020-8-6 22:44 | 显示全部楼层 |阅读模式
Hooks 2020-8-6 22:44 1530 11 显示全部楼层
坛友们大家好,我是一名学习软件工程的准大二学生。
我从八月三日开始到今天(八月六日)我终于完成了英雄联盟LPL比赛数据可视化的项目!
话不多说,先看图!
源码自取:Git-Hub:https://github.com/Java-S12138/LPLDataShow
坛友们.jpg
完成这个项目,我感觉我已经被掏空了,我几乎用尽了我会的所有知识。
html+css+javascript+python+requests+selenium+mysql+pymysql+json+ajax+flask+echarts
在这个过程中,遇到了很多坑,好在全部都已经解决了。
在整个页面全部功能运行成功的那一刻,我感觉幸福极了
下面我就简单介绍一下,怎么从无到有的。

第一步:获取数据
https://lpl.qq.com/es/data/rank.shtml?iGameId=134&sGameType=7,8
这个网址是英雄联盟LPL官方给出的官方数据,想要获取其中的数据,我们可以选择手动复制粘贴,但是这些数据基本上一天更新一次;如果真是这么去做的话,我想我可能要被累死。
当然,我们有更简单的方法——爬虫
但是,这个网站是一个动态的网站,使用简单的requests去爬取数据,效果非常不理想,只能获取到固定的一些数据。
这时,我们就可以采用selenium这个第三方库,去动态的爬取我们想要的数据,只不过这个稍微麻烦一点而已。

第二步:保存数据
我们成功获取到数据后,可以使用pymysql将数据保存到数据库当中,方便后面提取使用。
其实,我最开始没有准备把数据保存到数据库。
因为,我当时觉得,保存到数据库是多此一举的步骤;后面运行页面的时候,直接传过去不就行了嘛
但是,这样就会产生一个非常严重的问题,那就是每次运行就要爬虫,太繁琐了。
所有,后面我还是选择将爬取的数据保存到数据库。
尽管,我在写代码的时候经常用列表推导式,字典推导式,爬虫和保存到数据库的全部代码也到达了300多行。害,动态网站太恶心了。

第三步:绘制网页
使用html+css+javascript+jquery+echarts就先可以先把前端的页面搭建出来,需要的数据都先手动写死,页面没有问题后就可以进入下一步了。

第四步:后端连接前端
使用flask框架连接前端页面,再通过ajax传递数据

知识覆盖面太广了,我就不一一道来了,欢迎各位坛友交流讨论。

评分

参与人数 1牛币 +2 贡献 +2 收起 理由
2300484349 + 2 + 2 感谢楼主分享!

查看全部评分

发表于 2020-8-6 22:51 | 显示全部楼层
写的很不错 可惜我用不上 不过还是给你个👍
回复

使用道具 举报

发表于 2020-8-6 23:01 | 显示全部楼层
孤星wl 2020-8-6 23:01 显示全部楼层
可以,666,挺厉害的
回复

使用道具 举报

发表于 2020-8-7 08:39 | 显示全部楼层
66666666666666
回复

使用道具 举报

发表于 2020-8-7 09:46 | 显示全部楼层
768183266 2020-8-7 09:46 显示全部楼层
你他妈确定你是大一????
回复

使用道具 举报

发表于 2020-8-7 10:08 | 显示全部楼层
979605939 2020-8-7 10:08 显示全部楼层
可以,有点东西
回复

使用道具 举报

发表于 2020-8-7 10:31 | 显示全部楼层
Snlovesu 2020-8-7 10:31 显示全部楼层
膜拜大佬,牛笔
回复

使用道具 举报

发表于 2020-8-7 16:33 | 显示全部楼层
卧槽  给大佬来一杯卡布奇诺
回复

使用道具 举报

发表于 2020-8-7 20:25 | 显示全部楼层
huzixin 2020-8-7 20:25 显示全部楼层
大佬给我留个微信联系方式呗
回复

使用道具 举报

发表于 2020-8-8 12:23 | 显示全部楼层
同为准大二,我们才学完C,楼主都是自学吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表 发新帖

快速回复 返回顶部 返回列表