python抓取NBA现役球员基本信息数据并进行分析
链接:http://china.nba.com/playerindex/
所需获取JSON数据页面链接:http://china.nba.com/static/data/league/playerlist.json
数据来源:NBA中国官网
库:
requests 用于解析页面文本数据
pandas 用于处理数据
时间:
2017/2/17 (因为为现役球员,故需注明时间节点)
开工:


得到了数据,这下就好办了
先上简单粗暴够用的代码
import requests
2 import pandas as pd
3 user_agent = 'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)'
4 headers = {'User-Agent':user_agent}
5 url='http://china.nba.com/static/data/league/playerlist.json'
6 #解析网页
7 r=requests.get(url,headers=headers).json()
8 num=int(len(r['payload']['players']))-1 #得到列表r['payload']['players']的长度
9 p1_cols=[] #用来存放p1数组的列
10 p2_cols=[] #用来存放p2数组的列
11 #遍历其中一个['playerProfile'],['teamProfile'] 得到各自列名,添加到p1_cols和p2_cols列表中
12 for x in r['payload']['players'][0]['playerProfile']:
13 p1_cols.append(x)
14 for y in r['payload']['players'][0]['teamProfile']:
15 p2_cols.append(y)
16 p1=pd.DataFrame(columns=p1_cols) #初始化一个DataFrame p1 用来存放playerProfile下的数据
17 p2=pd.DataFrame(columns=p2_cols) #初始化一个DataFrame p1 用来存放playerProfile下的数据
18 #遍历一次得到一个球员的信息,分别添加到DataFrame数组中
19 for z in range(num):
20 player=pd.DataFrame([r['payload']['players'][z]['playerProfile']])
21 team=pd.DataFrame([r['payload']['players'][z]['teamProfile']])
22 p1=p1.append(player,ignore_index=True)
23 p2=p2.append(team,ignore_index=True)
24 p3=pd.merge(p1,p2,left_index=True,right_index=True) #数据合并
25 p3.to_csv('f://NBA//nba_player.csv',index=False)
只能说简单粗暴,25行代码搞定,恩,不过数据已经拿到手。
接下来查看一下

数据量不大,也可以用EXCEL来'偷窥'

拿到数据,总得稍微把玩一下,才对得起这堆数据,不然和撩到了步行街标准9分妹子就分手有什么区别呢?
了解下基本的数据情况


截止全明星赛前有449名现役球员
那么各球队球员数量具体是多少呢?


老詹的骑士还差个控位,湖人在为明年做准备
很想了解下NBA球员国籍'country'的情况


也就是说449名现役大名单球员里,有340名美国佬咯,螺旋稳
其中,
亚洲帅哥2枚,格鲁吉亚的Zaza Pachulia 和 以色列的Omri Casspi 撑场
非洲在大帝的领导下,率将领14名出征,NBA官网上28卡国籍是刚果。

欧洲55人;大洋洲8人(澳大利亚7人,新西兰1人);南美12人;还有4人,暂且未知(NBA数据库未补充)

接下来,看一下现役球员中,每一届球员的情况


98届的 Vince Carter,Paul Pierce,Dirk Nowitzki
99届的Manu Ginobili,Jason Terry,Metta World Peace
00届的Jamal Crawford,Mike Miller
01届的Tyson Chandler,Pau Gasol,Richard Jefferson,Joe Johnson,Tony Parker,Zach Randolph
02届的Matt Barnes,Mike Dunleavy,Udonis Haslem,Nene,Luis Scola
终有一天他们会离去,就像去年夏天的Tim,Bryant 和 Kevin

还是那句话,老兵不死,只是凋零。
03白金一代也只有12人在战斗了,当安东尼顶替乐福进入16/17/全明星赛时,老詹说自己不再是年龄最大的那位了,当时的你又在想啥呢?
这里我们需要再看一项数据,就是NBA现役球员的NBA平均职业生涯年龄是多少呢?
现役球员平均职业年龄为4.76年。
新生代球员配上新时代的体系及打法,NBA也是越来越好看,越来越激烈。每一位成功的球员都是为那个时代而生的。
下面,我们看一个很有意思的数据
现役NBA球员,最受欢迎的号码前5是哪几个号码呢?

只能说,666。原来5号,8号这么受欢迎。
还有,我们平时看NBA,主播评论员都是只说美国人的lastName,所以有时候一个队有几个汤普森或者约翰逊,满脸茫然



朋友,我会告诉你,共有7个约翰逊,统统来自美国。东部4个约翰逊,西部3个约翰逊。
热火VS快船比赛解说可能就是,约翰逊外线传球给约翰逊被杀出来的约翰逊抢断成功,掩耳不及迅雷之势传给快下的约翰逊,轻松扣篮得手。
那球员的位置分布怎么样呢?小球时代,自我感觉整个联盟后场球员会遥遥领先前场球员,一起来看看,果不其然。

今天就聊到这里吧
还有许多有趣的字段,有待开发。无兄弟,不篮球,期待与大伙一起为了我们兴趣,一起讨论交流,
I am a JRS,We are family ,他强任他强。

小白一枚,能力有限,做的不好的地方,尤其是逻辑与思维上的东西,需要大神们看到了多多指教和斧正buddyquan。
python抓取NBA现役球员基本信息数据并进行分析的更多相关文章
- python抓取NBA现役球员基本信息数据
链接:http://china.nba.com/playerindex/ 所需获取JSON数据页面链接:http://china.nba.com/static/data/league/playerli ...
- 使用Python抓取猫眼近10万条评论并分析
<一出好戏>讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何? 黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演 ...
- 手把手教你用Python抓取AWS的日志(CloudTrail)数据
数据时代,利用数据做决策是大数据的核心价值. 本文手把手,教你使用python进行AWS的CloudTrail配置,进行日志抓取.进行数据分析,发现数据价值! 如今是云的时代,许多公司都把自己的IT架 ...
- 浅谈如何使用python抓取网页中的动态数据
我们经常会发现网页中的许多数据并不是写死在HTML中的,而是通过js动态载入的.所以也就引出了什么是动态数据的概念, 动态数据在这里指的是网页中由Javascript动态生成的页面内容,是在页面加载到 ...
- 一篇文章教会你用Python抓取抖音app热点数据
今天给大家分享一篇简单的安卓app数据分析及抓取方法.以抖音为例,我们想要抓取抖音的热点榜数据. 要知道,这个数据是没有网页版的,只能从手机端下手. 首先我们要安装charles抓包APP数据,它是一 ...
- python抓取网页中的动态数据
一.概念 网页中的许多数据并不是写死在HTML中的,而是通过js动态载入的.所以也就引出了什么是动态数据的概念,动态数据在这里指的是网页中由Javascript动态生成的页面内容,是在页面加载到浏览器 ...
- Python抓取淘宝IP地址数据
def fetch(ip): url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip result = [] try: response ...
- 使用python抓取汽车之家车型数据
import requests import pymysql HOSTNAME = '127.0.0.1' USERNAME = 'root' PASSWORD = 'zyndev' DATABASE ...
- python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言)
python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言) 感觉要总结总结了,希望这次能写个系列文章分享分享心得,和大神们交流交流,提升提升. 因为 ...
随机推荐
- 由AbstractQueuedSynchronizer和ReentrantLock来看模版方法模式
在学完volatile和CAS之后,近几天在撸AbstractQueuedSynchronizer(AQS)的源代码,很多并发工具都是基于AQS来实现的,这也是并发专家Doug Lea的初衷,通过写一 ...
- Sublime 无法安装插件的解决办法
1,打开命令面板 Ctrl + Shift + P 输入:pi 回车 按回车后,出现异常如下图: 解决办法: 1,点击Preferences----Brows Packages ---会到安装目录 ...
- 【代码笔记】Web-CSS-CSS Padding(填充)
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- Vue一个案例引发「内容分发slot」的最全总结
今天我们继续来说说 Vue,目前一直在自学 Vue 然后也开始做一个项目实战,我一直认为在实战中去发现问题然后解决问题的学习方式是最好的,所以我在学习一些 Vue 的理论之后,就开始自己利用业余时间做 ...
- Linux 中NFS服务器的搭建
serve端IP:192.168.2.128 客户端IP:192.168.2.131 server端配置: 1.安装nfs,rpcbind,可以参考Linux 中yum的配置来安装: yum inst ...
- AngularJS学习之旅—AngularJS Select(十)
1.AngularJS Select(选择框) AngularJS 可以使用数组或对象创建一个下拉列表选项. ng-option:创建一个下拉列表,列表项通过对象和数组循环输出 eg: <div ...
- linux内核调试技巧之一 dump_stack【转】
在内核中代码调用过程难以跟踪,上下文关系复杂,确实让人头痛 调用dump_stack()就会打印当前cpu的堆栈的调用函数了. 如此,一目了然的就能看到当前上下文环境,调用关系了 假设: 遇到uvc_ ...
- 【转载】IIC SPI UART串行总线
一.SPISPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用. 接口SPI接口经常被称为4线串行 ...
- 2017 百度杯丶春秋欢乐赛 writeup
1. 内涵图(Misc) 题目: 我不是一个简单的图片 我是一个有内涵的图片 解:保存到桌面,右键属性->详细信息,即可获得flag. 2. 小电影(Misc) 题目: 我说过 这次比赛是让大家 ...
- daily english dictation 学习笔记[1-10]
b站网址https://www.bilibili.com/video/av17188299/?p=2 1. Mother Teresa, who received a Nobel Peace Priz ...