数据分析---2.数据分析----爬取NBA中国官方网站的球员数据,并分析

纸上得来终觉浅, 绝知此事要躬行。


#夏天切记贪凉,光膀子对着空调吹,搞了个肩周炎,耽误事

前一篇几篇都是关于数据爬取的文章。有兴趣的可以去看看

男篮世锦赛开始了,看着中国队的苦苦挣扎为了奥运会入场券,哎,没法子呀。好在我有了这篇主题的思路了,谢谢啊,
来到nba中国官网,首先想到直接用get请求主页网址,发现页面都是ajax动态请求的,所以开始抓包吧,

在这里插入图片描述
在这个playerlist.json文件中,包含了所有球员的很多信息。包括[‘code’,’‘playerId’, ‘displayName’, ‘country’, ‘draftYear’, ‘experience’, ‘position’, ‘weight’, ‘schoolType’, ‘teamName’, ‘city’],这些是球员的基本信息,这里切记要获取’code‘’字段,后面获取球员关于比赛数据的信息的时候的url拼接需要。

在这里插入图片描述
一开始我是把这些数据存放在mysql数据库里,后来又存为了csv文件
下一步开始获取球员的具体的信息,再次抓包,
在这里插入图片描述
进入球员具体数据页面,抓包发现数据在stats_steven_adams.json文件中,在查看多个球员详细数据页面发现,请求url,最后都是在https://china.nba.com/static/data/player/stats_拼接了该球员的名字,后头看前面获取到的code字段,就是我们需要拼接的部分,例如,https://china.nba.com/static/data/player/stats_steven_adams.json

###具体的可以看代码

"""
@author: cht
@time: 2019/9/4 19:23
"""

# -*- coding: utf-8 -*-

import requests
import json
import pymysql
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#解决matplotlib画图中文显示乱码的情况
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']

class NBA(object):
    def __init__(self):
        self.db = pymysql.connect("localhost", "root", "cht555", "nba", charset="utf8")
        self.cursor = self.db.cursor()

    def get_json(self, url):
        try:
            res = requests.get(url)
            if res.status_code == 200:
                return json.loads(res.text)
            return None
        except Exception as e:
            print(e)

    def get_data(self, url):
        try:
            req = requests.get(url)
            if req.status_code == 200 or req.status_code == 304:
                return json.loads(req.text)
            return None
        except Exception as t:
            print(t)

    def parse_jsonData(self, jsonfile):
        # print(jsonfile)
        playersinfos = jsonfile['payload']['players']
        infoList = [
            [
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值