Beispiel #1
0
def find_hot(player_name):
    url = 'http://china.nba.com/wap/static/data/player/hotzone_' \
          + player_name + \
          '.json'

    response = requests.get(url)
    response.encoding = 'utf-8'
    if not valid_response(response):
        return

    try:
        pid = response.json()['payload']['profile']['playerId']
        regu_last_5 = response.json(
        )['payload']['hotZone']['seasons'][1]['splits'][0]['full']
        regu_total = response.json(
        )['payload']['hotZone']['seasons'][1]['splits'][1]['full']

        regu_last_5['playerId'] = pid
        regu_total['playerId'] = pid

        dict_to_csv(regu_last_5, 'regular_last5_' + player_name)
        dict_to_csv(regu_total, 'regular_total_' + player_name)

        bef_last_5 = response.json(
        )['payload']['hotZone']['seasons'][0]['splits'][0]['full']
        bef_total = response.json(
        )['payload']['hotZone']['seasons'][0]['splits'][1]['full']

        bef_last_5['playerId'] = pid
        bef_total['playerId'] = pid

        dict_to_csv(bef_last_5, 'pre_last5_' + player_name)
        dict_to_csv(bef_total, 'pre_total_' + player_name)
    except (KeyError, IndexError, TypeError):
        print('no such player ' + player_name)
Beispiel #2
0
def team_profile(team_id, season='2014-15'):
    url = 'http://stats.nba.com/stats/teaminfocommon?LeagueID=00&SeasonType=Regular+Season&TeamID=' \
          + str(team_id) + \
          '&season=' \
          + str(season)

    response = requests.get(url)
    if not valid_response(response):
        return

    stats = response.json()['resultSets'][0]
    list2d_to_csv(dict_to_list2d(stats),
                  PATH + 'team_profile_' + str(team_id) + UNDER + season)
Beispiel #3
0
def get_pie(player_id, season='2014-15', ptype=PIEType.rest):
    url = 'http://stats.nba.com/stats/playerdashboardbygeneralsplits?DateFrom=&DateTo=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Advanced&Month=0&OpponentTeamID=0&Outcome=&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerID=' \
          + str(player_id) + \
          '&PlusMinus=N&Rank=N&Season=' \
          + season + \
          '&SeasonSegment=&SeasonType=Regular+Season&VsConference=&VsDivision='

    resp = requests.get(url)
    if not valid_response(resp):
        return

    # check whether this player meet the requests
    result_sets = resp.json()['resultSets']

    if ptype == PIEType.overall:
        keep = FORBID
        for row in result_sets[5]['rowSet']:
            if row[1] == 'Starters' and row[2] > 42:
                keep = STARTER
                break
            elif row[1] == 'Bench' and row[2] > 42:
                keep = BENCH
                break

        pie = [keep]
        try:
            overall_pie = result_sets[0]['rowSet'][0][PIE_INDEX]
            pie.append(overall_pie)
            return pie
        except (KeyError, IndexError, TypeError):
            return pie

    # diminish some game < 3
    rest_pie = [player_id]
    j = 0
    for i in range(0, 7):
        if j >= len(result_sets[6]['rowSet']):
            rest_pie.append(0)
            continue
        row = result_sets[6]['rowSet'][j]
        if row[2] < 3:
            j += 1
            rest_pie.append(0)
        elif row[1][0] != str(i):
            rest_pie.append(0)
        else:
            j += 1
            rest_pie.append(row[PIE_INDEX])

    return rest_pie
Beispiel #4
0
def team_profile(team_id, season='2014-15'):
    url = 'http://stats.nba.com/stats/teaminfocommon?LeagueID=00&SeasonType=Regular+Season&TeamID=' \
          + str(team_id) + \
          '&season=' \
          + str(season)

    response = requests.get(url)
    if not valid_response(response):
        return

    stats = response.json()['resultSets'][0]
    list2d_to_csv(
        dict_to_list2d(stats), PATH + 'team_profile_' + str(team_id) + UNDER + season
    )
Beispiel #5
0
def find_hot(player_name):
    url = 'http://china.nba.com/wap/static/data/player/hotzone_' \
          + player_name + \
          '.json'

    response = requests.get(url)
    response.encoding = 'utf-8'
    if not valid_response(response):
        return

    try:
        pid = response.json()['payload']['profile']['playerId']
        regu_last_5 = response.json()['payload']['hotZone']['seasons'][1]['splits'][0]['full']
        regu_total = response.json()['payload']['hotZone']['seasons'][1]['splits'][1]['full']

        regu_last_5['playerId'] = pid
        regu_total['playerId'] = pid

        dict_to_csv(
            regu_last_5, 'regular_last5_' + player_name
        )
        dict_to_csv(
            regu_total, 'regular_total_' + player_name
        )

        bef_last_5 = response.json()['payload']['hotZone']['seasons'][0]['splits'][0]['full']
        bef_total = response.json()['payload']['hotZone']['seasons'][0]['splits'][1]['full']

        bef_last_5['playerId'] = pid
        bef_total['playerId'] = pid

        dict_to_csv(
            bef_last_5, 'pre_last5_' + player_name
        )
        dict_to_csv(
            bef_total, 'pre_total_' + player_name
        )
    except (KeyError, IndexError, TypeError):
        print('no such player ' + player_name)