本期导读

  • 1. 网页分析
  • 2. 球员数据采集
  • 3. 赛季数据可视化
    • 3.1 赛季数据柱状图:
    • 3.2 赛季数据时间序列化:

大家好,我是欧K。

近几日,NBA官方公布了NBA商店欧洲官网NBAStore.eu本赛季至今的球衣等周边产品销售情况。湖人前锋勒布朗-詹姆斯在球员球衣销量中名列第一,湖人在球队产品销量中名列第一,这是詹姆斯和湖人连续两年包揽欧洲地区NBA球衣/球队产品销量头名。本期我们使用python分析一下这份榜单中的球员近几年比赛数据,看看有什么新发现。

欧洲地区球衣销量排名前十的球员:

  1. 勒布朗-詹姆斯
  2. 凯文-杜兰特
  3. 斯蒂芬-库里
  4. 凯里-欧文
  5. 詹姆斯-哈登
  6. 卢卡-东契奇
  7. 扬尼斯-阿德托昆博
  8. 贾-莫兰特
  9. 吉米-巴特勒
  10. 扎克-拉文

1. 网页分析

球员数据网址:http://www.stat-nba.com/playerList.php

这里我们分析榜单前五球员11-12赛季至19-20赛季的数据,感兴趣的小伙伴也可以分析更多球员的数据。
以詹姆斯为例:


提取历年球员的篮板、助攻和得分三项数据,F12查看一下网页源码如下:

这个网页还是比较友好的,数据比较规整,仔细分析可以看出数据在一个table里面,每个tr标签代表一行数据(一个赛季的数据),第14/17/22列分别对应篮板、助攻和得分数据,注意这里列号从0开始,大家在学习的时候要养成列表索引从0开始的习惯。

2. 球员数据采集

詹姆斯数据网址:http://www.stat-nba.com/player/1862.html

def getdata():url = 'http://www.stat-nba.com/player/1862.html'ua = UserAgent()headers = {'User-Agent': ua.random}r = requests.get(url, headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingsoup = BeautifulSoup(r.text,'html.parser')lsts = soup.find_all('table',attrs={'class':'stat_box'})trb_sorce = []ast_sorce = []pts_sorce = []for index,lst in enumerate(lsts[1].find_all(attrs={'class':'sort'})[:9]):# 篮板trb = lst.find(attrs={'class':'normal trb change_color col14 row{}'.format(index)}).text# 助攻ast = lst.find(attrs={'class':'normal ast change_color col17 row{}'.format(index)}).text# 得分pts = lst.find(attrs={'class':'normal pts change_color col22 row{}'.format(index)}).texttrb_sorce.append(int(trb))ast_sorce.append(int(ast))pts_sorce.append(int(pts))print(trb_sorce)print(ast_sorce)print(pts_sorce)# [472, 465, 709, 639, 565, 416, 533, 610, 492]# [636, 454, 747, 646, 514, 511, 488, 551, 387]# [1544, 1505, 2251, 1954, 1920, 1743, 2089, 2036, 1683]

以上就获取了詹姆斯11-12赛季至19-20赛季的三项数据。
接下来采集分列榜单2-5位的杜兰特,库里,欧文,哈登几个赛季的数据,网址如下:

# 杜兰特
'http://www.stat-nba.com/player/779.html'
# 库里
'http://www.stat-nba.com/player/526.html'
# 欧文
'http://www.stat-nba.com/player/1690.html'
# 哈登
'http://www.stat-nba.com/player/1628.html'

可以看到,各球员数据网址只有球员id不同,构建球员id字典:

dic = {'詹姆斯': 1862, '杜兰特': 779, '库里': 526, '欧文': 1690, '哈登': 1628}

数据采集:

def getdata(number):url = 'http://www.stat-nba.com/player/{}.html'.format(number)ua = UserAgent()headers = {'User-Agent': ua.random}r = requests.get(url, headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingsoup = BeautifulSoup(r.text,'html.parser')lsts = soup.find_all('table',attrs={'class':'stat_box'})one_info = []trb_sorce = []ast_sorce = []pts_sorce = []for index,lst in enumerate(lsts[1].find_all(attrs={'class':'sort'})[:5]):# 篮板trb = lst.find(attrs={'class':'normal trb change_color col14 row{}'.format(index)}).text# 助攻ast = lst.find(attrs={'class':'normal ast change_color col17 row{}'.format(index)}).text# 得分pts = lst.find(attrs={'class':'normal pts change_color col22 row{}'.format(index)}).texttrb_sorce.append(int(trb))ast_sorce.append(int(ast))pts_sorce.append(int(pts))trb_sorce.reverse()ast_sorce.reverse()pts_sorce.reverse()one_info.append(trb_sorce)one_info.append(ast_sorce)one_info.append(pts_sorce)print(trb_sorce)print(ast_sorce)print(pts_sorce)return one_info

采集结果:

# 詹姆斯
[492, 610, 533, 416, 565, 639, 709, 465, 472]
[387, 551, 488, 511, 514, 646, 747, 454, 636]
[1683, 2036, 2089, 1743, 1920, 1954, 2251, 1505, 1544]
# 杜兰特
[533, 527, 640, 598, 178, 589, 513, 464, 497]
[214, 231, 374, 445, 110, 361, 300, 366, 457]
[2161, 1850, 2280, 2593, 686, 2029, 1555, 1792, 2027]
# 库里
[88, 314, 334, 341, 430, 353, 261, 369, 26]
[138, 539, 666, 619, 527, 524, 310, 361, 33]
[383, 1786, 1873, 1900, 2375, 1999, 1346, 1881, 104]
# 欧文
[191, 216, 259, 237, 157, 230, 227, 335, 103]
[275, 350, 433, 389, 250, 418, 306, 464, 128]
[944, 1325, 1478, 1628, 1041, 1816, 1466, 1596, 548]
# 哈登
[252, 379, 344, 459, 501, 659, 389, 518, 387]
[229, 455, 446, 565, 612, 907, 630, 586, 450]
[1044, 2023, 1851, 2217, 2376, 2356, 2191, 2818, 2096]

3. 赛季数据可视化

3.1 赛季数据柱状图:

也可以做成双纵坐标:

3.2 赛季数据时间序列化:

以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、收藏也可以分享到朋友圈让更多人知道哦

更多内容:NBA官方球衣销量榜“詹皇”居首,快看看你的偶像排第几

往期推荐

技巧 | Python 字典用法详解(超全)
技巧 | Python 列表经典使用技巧
技巧 | 20个Pycharm最实用最高效的快捷键(动态展示)
可视化 | Python制作最炫3D可视化地图
可视化 | 动起来的中国大学排名,看看你的母校在哪里
可视化 | Python时间序列化NBA球星赛季数据

微信公众号 “Python当打之年” ,每天都有python编程技巧推送,希望大家可以喜欢

可视化 | Python时间序列化NBA球星赛季数据相关推荐

  1. 用Python自动生成NBA巨星生涯数据曲线

    1.序 之前写过一个用 python 自动生成球员职业生涯数据的程序(原文请关注本人公众号),大家的反响很好,我也感到很欣慰.有问我怎么做的,如何学 python 的,也有提建议说集成到 web 里面 ...

  2. 可视化 | Python制作最炫3D可视化地图

    文章目录 1. 环境安装 1.1 安装 pyecharts 1.2 安装地图扩展包 2. 广东省3D地图 3. 北京市3D地图 4. 中国3D地图-行政区 5. 中国3D地图-数据可视化 大家好,我是 ...

  3. python爬取17000个球员_Python爬取NBA球员生涯数据及简单可视化

    由于全球疫情的原因 NBA宣布无限期推迟比赛 也被迫随之进入了长草期 紧接着 狂摸话筒戈贝尔 连坐队友米切尔 网络小帅杜兰特 绿军硬汉斯马特 等十名球员相继官宣感染 洛杉矶湖人两人感染 但未公布名单 ...

  4. python绘图篮球_用Python把NBA球员投篮数据可视化

    最近看了一篇文章是有关于NBA球员出手数据的可视化案例,原文链接如下. 虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手 个人感觉比较有趣,所以想着自己也来实现一波. 总体上来说差不多 ...

  5. 数据可视化揭晓NBA球星顶薪背后的真相

    戳蓝字"CSDN云计算"关注我们哦! 作者 | pk哥 责编 | 刘丹 7月1日凌晨6点,2019年NBA自由市场正式拉开大幕. 之后的故事,我们都知道了,很多球员都签了顶薪合同, ...

  6. NBA球星数据可视化分析-FineBI

    目录 一.实验(实训)目的 二.实验(实训)原理或方法 三.仪器设备.材料 四.实验(实训)步骤 五.实训记录及结果 <---------------------------------木易白驹 ...

  7. python时间序列分析航空旅人_大佬整理的Python数据可视化时间序列案例,建议收藏(附代码)...

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 时间序列 1.时间序列图 时间序列图用于可视化给定指标如何随时间变化.在这 ...

  8. 爬取大学排名和NBA球星数据并进行多维度可视化

    opexcel 模块地址:https://blog.csdn.net/wei_zhen_dong/article/details/105318970 import requests from lxml ...

  9. python分析出nba球员的位置_虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手...

    原标题:虎扑热帖|Python数据分析|NBA的球星们喜欢在哪个位置出手 前言 1. 这篇数据分析案例,我做了个视频版本,对代码做了解读,讲了运行的注意事项和一些有的没的,供需.对于视频制作还不是很有 ...

  10. NBA球员投篮数据可视化

    最近看了公众号「Crossin的编程教室」的一篇文章. 是有关于NBA球员出手数据的可视化案例,原文链接如下. 个人感觉比较有趣,所以想着自己也来实现一波. 总体上来说差不多,可能就是美观点吧... ...

最新文章

  1. JVM中可生成的最大Thread数量
  2. 【leetcode】132. Palindrome Partitioning II
  3. python浪漫代码-python爱心表白 每天都是浪漫七夕!
  4. 首次公开!菜鸟弹性调度系统的架构设计
  5. Navicat Error 2003 - can't connect to mysql server 'localhost' (10061)
  6. linux mysql revoke_Linux环境下MySQL基础命令(4)----数据库的用户授权
  7. 雷军自曝25年前旧照 网友发现端倪:25年前就有MIX 2S了?
  8. [论文阅读] Shallow Attention Network for Polyp Segmentation
  9. Unicode字符集和编码方式
  10. 为了面试阿里大数据岗位,我花了半年总结了这些干货内容
  11. 360安全卫士管理开机启动项的方法
  12. Linux_Tips
  13. matlab rf建模实例,[程序源代码]MATLAB在射频电路设计中的应用
  14. 联想商务机M8000T风扇狂转解决方法
  15. 基于Java Swing编写的简易运费计算工具
  16. Vue实战教程:利用自定义实现鼠标拖动元素效果
  17. 计算机网络第五章说课稿,任务二 了解计算机网络的作用说课稿【一等奖】
  18. 【OpenCV-Python】教程:5-3 光流
  19. LMS与RLS算法学习笔记
  20. 使用distpicker的简单测试页面

热门文章

  1. 解决win2003里IIS运行ASP时出现请求资源在使用中的问题
  2. 【论文翻译】Flow-Guided Feature Aggregation for Video Object Detection
  3. 小爬虫。爬取网站多页的通知标题并存取在txt文档里。
  4. C语言入门实战(12):求自然常数e的值
  5. 安卓开发日记APP史上最详细(SharedPreferences+Room)
  6. 解读群体机器人合力协作精神
  7. 北大2011年计算机系录取浙江毛,湖州这11位同学被清华北大录取!
  8. Openstack API 开发 快速入门
  9. MySQL5.6 GTID
  10. 猫和计算机连接网络,计算机路由器与猫的连接方法步骤