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

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

本期导读

近几日,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_encoding
    soup = 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()}).text
        trb_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_encoding
    soup = 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)}).text
        trb_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 赛季数据时间序列化:

完。


END


以上就是本期为大家整理的全部内容了,小伙伴们也可以从其他角度进行数据分析和可视化,赶快练习起来吧,如需代码,后台回复“NBA”即可,喜欢的朋友可以点赞、点在看也可以分享到朋友圈让更多人知道哦


相关文章
|
缓存 监控 Java
Java Socket编程最佳实践:优化客户端-服务器通信性能
【6月更文挑战第21天】Java Socket编程优化涉及识别性能瓶颈,如网络延迟和CPU计算。使用非阻塞I/O(NIO)和多路复用技术提升并发处理能力,减少线程上下文切换。缓存利用可减少I/O操作,异步I/O(AIO)进一步提高效率。持续监控系统性能是关键。通过实践这些策略,开发者能构建高效稳定的通信系统。
362 1
|
Android开发 iOS开发 计算机视觉
Airtest新增iOS、Windows录屏功能,真香!
Airtest新增iOS、Windows录屏功能,真香!
316 0
|
机器学习/深度学习 人工智能 算法
重塑神话:黑神话悟空背后的技术揭秘与代码探秘
《重塑神话:黑神话悟空背后的技术揭秘与代码探秘》深入剖析了这款融合深厚中国文化元素的游戏在技术上的突破。文章详细介绍了高精度动作捕捉、全景光线追踪与DLSS 3.5技术、AI与游戏逻辑实现以及场景构建与渲染等多个方面,并通过代码案例展示了关键技术的实现细节。《黑神话:悟空》不仅展现了国产游戏的巨大潜力,更为整个游戏行业树立了新的标杆。未来,随着技术的不断进步,国产游戏必将创造更多奇迹。
|
数据安全/隐私保护
[SWPUCTF 2021 新生赛]原来你也玩原神
[SWPUCTF 2021 新生赛]原来你也玩原神
356 0
|
8月前
|
机器学习/深度学习 人工智能 数据挖掘
《当高斯数据库邂逅人工智能:数据处理的效率革命》
在数字化浪潮中,数据呈爆炸式增长,企业对数据处理和分析效率的要求日益严苛。高斯数据库通过与人工智能深度融合,克服了传统查询优化、数据清洗及实时分析的困境,实现了智能查询优化、自动数据清洗、实时数据分析与预测以及动态资源管理,显著提升了数据处理效率。尽管面临数据隐私和模型可解释性等挑战,但高斯数据库与AI的结合为企业带来了前所未有的机遇,助力各行业实现高效决策和创新发展。
198 16
|
9月前
|
前端开发 UED
游戏直播平台源码分享,功能对标虎牙斗鱼
熊猫比分开发的游戏直播平台,提供全面的电竞赛事直播与数据服务,涵盖LOL、DOTA2等热门项目。平台特色包括丰富的基础数据、详细的统计数据、最新的媒体资讯及优质的直播体验,如画中画功能和IM通讯模块,增强用户互动与粘性。
|
10月前
|
搜索推荐 开发者
熊猫比分-专业体育赛事直播app/网页搭建
体育赛事直播APP已成为体育迷观看和讨论赛事的重要渠道。其核心功能包括:1) 实时直播,支持转播、录播、回放,确保低延迟、高流畅度和优质画质;2) 比分数据分析,提供首发阵容、历史对战等信息;3) 用户互动,支持评论、打赏及私聊;4) 主播中心,允许用户申请成为主播并获平台支持。
|
开发框架 移动开发 JavaScript
好玩儿的vue插件
本文列举并简要介绍了一些有趣和实用的Vue插件,涵盖了UI组件库、开发框架、实用库、服务端框架和辅助工具等多个类别,为Vue开发者提供了丰富的资源选择。
|
编解码 前端开发 JavaScript
【长文慎入】一文吃透React SSR服务端同构渲染
前段时间一直在研究 react ssr技术,然后写了一个完整的 ssr开发骨架。今天写文,主要是把我的研究成果的精华内容整理落地,另外通过再次梳理希望发现更多优化的地方,也希望可以让更多的人少踩一些坑,让更多的人理解和掌握这个技术。 相信看过本文(前提是能对你的胃口,也能较好的消化吸收)你一定会对 react ssr服务端渲染技术有一个深入的理解,可以打造自己的脚手架,更可以用来改造自己的实际项目,当然这不仅限于 react ,其他框架都一样,毕竟原理都是相似的。
1651 0
|
数据可视化 JavaScript 前端开发
通过antd-charts可视化对比科比和詹姆斯谁更强
通过antd-charts可视化对比科比和詹姆斯谁更强
536 0
通过antd-charts可视化对比科比和詹姆斯谁更强