我终于终于终于完成了英雄联盟LPL比赛数据可视化的项目!
本帖最后由 Java_S 于 2020-9-7 09:54 编辑吾爱论坛的坛友们大家好,我是一名学习软件工程的准大二学生。
我从八月三日开始到今天(八月六日)我终于完成了英雄联盟LPL比赛数据可视化的项目!
话不多说,先看图!
源码和详细教程:https://syjun.vip/index.php/archives/102/
视频教程:https://www.bilibili.com/video/BV1vD4y1m7zP(如有违规,请管理员联系我,马上删除,谢谢)
完成这个项目,我感觉我已经被掏空了,我几乎用尽了我会的所有知识。
html+css+javascript+python+requests+selenium+mysql+pymysql+json+ajax+flask+echarts
在这个过程中,遇到了很多坑,好在全部都已经解决了。
在整个页面全部功能运行成功的那一刻,我感觉幸福极了:lol
下面我就简单介绍一下,怎么从无到有的。
https://static.52pojie.cn/static/image/hrline/4.gif
第一步:获取数据
https://lpl.qq.com/es/data/rank.shtml?iGameId=134&sGameType=7,8
这个网址是英雄联盟LPL官方给出的官方数据,想要获取其中的数据,我们可以选择手动复制粘贴,但是这些数据基本上一天更新一次;如果真是这么去做的话,我想我可能要被累死。
当然,我们有更简单的方法——爬虫
但是,这个网站是一个动态的网站,使用简单的requests去爬取数据,效果非常不理想,只能获取到固定的一些数据。
这时,我们就可以采用selenium这个第三方库,去动态的爬取我们想要的数据,只不过这个稍微麻烦一点而已。
https://static.52pojie.cn/static/image/hrline/4.gif
第二步:保存数据
我们成功获取到数据后,可以使用pymysql将数据保存到数据库当中,方便后面提取使用。
其实,我最开始没有准备把数据保存到数据库。
因为,我当时觉得,保存到数据库是多此一举的步骤;后面运行页面的时候,直接传过去不就行了嘛
但是,这样就会产生一个非常严重的问题,那就是每次运行就要爬虫,太繁琐了。
所有,后面我还是选择将爬取的数据保存到数据库。
尽管,我在写代码的时候经常用列表推导式,字典推导式,爬虫和保存到数据库的全部代码也到达了300多行。害,动态网站太恶心了。
https://static.52pojie.cn/static/image/hrline/4.gif
第三步:绘制网页
使用html+css+javascript+jquery+echarts就先可以先把前端的页面搭建出来,需要的数据都先手动写死,页面没有问题后就可以进入下一步了。
https://static.52pojie.cn/static/image/hrline/4.gif
第四步:后端连接前端
使用flask框架连接前端页面,再通过ajax传递数据
知识覆盖面太广了,我就不一一道来了,欢迎各位坛友交流讨论。 入这行的头发少是有原因的 饕餮居士 发表于 2020-8-17 11:30
摸索了一早上还是无法运行项目,我是win7系统,大佬能不能出个教程教一下小白怎么运行啊
后面我准备做一期视频,敬请期待哦 lcylcyll 发表于 2020-8-12 10:53
出一个视频讲解一下最好啦,你再重温一下写代码的快感
哈哈哈,可以的 厉害啦。 IG被LGD横扫了 厉害厉害,这是真的把自己的喜欢的东西
通过代码实现了~
LPL 牛逼 太强了膜拜大佬!!! 厉害了大佬!{:1_893:} 学习学习{:17_1068:} 绝对膜拜我的天后悔当年没有报软件工程 前排支持,用心了楼主!祝学业有成! 厉害了大佬! 牛人,厉害,厉害。 我学了4年计算机,如今只停留在帮朋友装个系统,大佬牛批