篮球网都怎么做?
泻药! 首先,要做一个投篮命中率统计的网站。这个统计网站需要具备以下功能:
1、能自动识别球员和场次;
2、能统计单场投篮命中数和总命中数以及命中率(要求精确到个位);
3、能统计单月投篮命中数和总命中数以及命中率(同样要求精确到个位);
4、能够实现数据可视化,最好能够用图表的形式来展现历史变化趋势。
下面我来具体说一说制作过程。
第一步,数据库的建立。 这个数据库主要存放球员姓名、球队名称、比赛时间、投篮出手次数、投篮命中原数等信息。我使用的是MySQL5.7版本的数据库,创建了一个球员表和一个比赛表。
第二步,代码编写。 我使用的编程语言是Python,所以这里是使用Python编写的爬取网页和数据并导入数据库的代码。
第三步,数据采集与清洗。 这里我使用了Scrapy框架来采集NBA官方网站上每个赛季的常规赛赛程信息,然后将这些信息导出到CSV文件中。为了简化问题,我只采集了每支球队的前50场比赛,不过实际项目并不需要这么精简。
因为CSV文件每行表示一场比赛的各个时间点的事件,而每条记录又包含多个时间点的事件,所以对于数据的清洗比较简单,只要按列归类就可以了。
第四步,网站展示 这里我用到了Django框架来搭建一个后台,用来管理数据,并且展示网站。网站打开后可以看到球员的历史数据,以乔丹为例,可以查看他职业生涯的投篮统计情况,也可以查看某个赛季的具体投篮统计,比如86-87赛季。另外还提供了历史排名的功能,可以根据球员的生涯命中数和场均命中数来查找该球员在历史上的位置。
这个网站除了能够在PC端打开以外,还可以适配移动端,所以在手机端上面也能够方便地查看数据。