y = auth.yahoo_session() yahoo_game = [ {'gameid': 352, 'leagueid': 59140}, ] leagues = [] teams = [] rosters = [] for i in yahoo_game: #get league data league_code = query.make_league_code(i['gameid'], i['leagueid']) league_url = query.league_data(league_code) l = auth.api_query(y, league_url) #grab relevant part of dict this_league = l['fantasy_content']['league'] leagues.append(this_league) player_dict={} # Get All Taken Players loopcount=0 while(True): # 2 Gets: first = 1 for seas+pct # secnd = 2 for lastmonth GET1 = auth.api_query(y, query.getdata(league_url,loopcount,1,status="T")) GET2 = auth.api_query(y, query.getdata(league_url,loopcount,2,status="T")) num_players_returned = int(GET1['fantasy_content']['league']['players']['@count'])
#2007 (we were 'pro' this year {'gameid': 172, 'leagueid': 5643}, #2006 {'gameid': 147, 'leagueid': 72277}, #2005 {'gameid': 113, 'leagueid': 58563} ] leagues = [] teams = [] rosters = [] for i in hpk: #get league data league_code = make_league_code(i['gameid'], i['leagueid']) l = auth.api_query(y, league_data(league_code)) #grab relevant part of dict this_league = l['fantasy_content']['league'] leagues.append(this_league) last_day = datetime.datetime.strptime(this_league['end_date'], "%Y-%m-%d") #go one beyond last day to make sure you get all the roster moves. last_day = last_day + datetime.timedelta(days=1) #iterate over teams num_teams = int(this_league['num_teams']) for j in range(1, num_teams + 1): #get basic team data team_code = make_team_code(i['gameid'], i['leagueid'], j) t = auth.api_query(y, team_data(team_code)) #just relevant response this_team = t['fantasy_content']['team']
import data_prep csv.register_dialect('ALM', delimiter=',', quoting=csv.QUOTE_ALL) #yahoo session y = auth.yahoo_session() cur_yahoo = pd.read_csv('input/yahoo_players.csv') query = data_prep.basic_player_req(cur_yahoo['yahoo_code']) yahoo_resp = [] player_pos = [] for i in range(0, len(query)): print query[i] p = auth.api_query(y, query[i]) #some players dont exist in a given year. skip them if 'error' in p.keys(): continue #just player pos elig_pos = p['fantasy_content']['player']['eligible_positions']['position'] playerid = p['fantasy_content']['player']['player_id'] #if it's a string, not a list, make it a list if not hasattr(elig_pos, '__iter__'): elig_pos = [elig_pos] for j in range(0, len(elig_pos)): print j player_pos.append({'playerid': playerid, 'pos': elig_pos[j]}) p_data = data_prep.process_player_dict(p) yahoo_resp.append(p_data)
y = auth.yahoo_session() def basic_player_req(playerid): return 'http://fantasysports.yahooapis.com/fantasy/v2/player/' + playerid players = pd.read_csv('input/auction_results.csv') query = basic_player_req(players['yahoo_code']) #list to store api data player_data = [] #loop over players and look up data for i in range(0, len(players)): p = auth.api_query(y, basic_player_req(players.iloc[i]['yahoo_code'])) #some players dont exist in a given year. skip them if 'error' in p.keys(): print 'errored on:' print players.iloc[i] continue print players.iloc[i]['year'] print p['fantasy_content']['player']['name']['full'] #process the response and pull out some fields p = p['fantasy_content']['player'] p['full_name'] = p['name']['full'] p['first_name'] = p['name']['first'] p['last_name'] = p['name']['last'] p.pop('name', None)
## = changes added by brian import auth import datetime import query y = auth.yahoo_session() yahoo_game = [{"gameid": 352, "leagueid": 59140}] leagues = [] teams = [] rosters = [] league_data = "" for i in yahoo_game: # get league data league_code = query.make_league_code(i["gameid"], i["leagueid"]) league_url = query.league_data(league_code) settings = league_url + "/settings" settings = auth.api_query(y, settings) league_data = query.parse_settings( settings["fantasy_content"]["league"]["settings"]["stat_categories"]["stats"]["stat"] ) league_data = {int(item[0]): [str.lower(item[1]), item[2]] for item in league_data} print(league_data) auth.data_pickle(filename="leaguedata.pickle", data=league_data)
import datetime import query y = auth.yahoo_session() yahoo_game = [ {'gameid': 352, 'leagueid': 59140}, ] teams = {} for i in yahoo_game: #get league data league_code = query.make_league_code(i['gameid'], i['leagueid']) league_url = query.league_data(league_code) l = auth.api_query(y, league_url) #grab relevant part of dict this_league = l['fantasy_content']['league'] #iterate over teams num_teams = int(this_league['num_teams']) for j in range(1, num_teams + 1): #get basic team data team_code = query.make_team_code(league_code, j) t = auth.api_query(y, query.team_data(team_code)) #just relevant response this_team = t['fantasy_content']['team'] r = auth.api_query(y, query.roster_data(team_code)) this_roster = r['fantasy_content']['team']['roster']['players']['player']
# ] leagues = [] teams = [] rosters = [] scoreboard = [] rosterResults = [] draftResults = [] playerResults = [] transResults = [] last_week = 16 for i in hpk: #get league data league_code = make_league_code(i['gameid'], i['leagueid']) l = auth.api_query(y, league_data(league_code)) #grab relevant part of dict this_league = l['fantasy_content']['league'] # Remove the 'is_finished' key try: this_league.pop('is_finished') except: pass leagues.append(this_league) last_day = datetime.datetime.strptime(this_league['end_date'], "%Y-%m-%d") #go one beyond last day to make sure you get all the roster moves. last_day = last_day + datetime.timedelta(days=1) # # ANDY get Scoreboard data # s = auth.api_query(y, league_scoreboard(league_code)) # #grab relevant part of dict
import pandas as pd csv.register_dialect('ALM', delimiter=',', quoting=csv.QUOTE_ALL) #yahoo session y = auth.yahoo_session() cur_yahoo = pd.read_csv('input/yahoo_players.csv') query = data_prep.basic_player_req(cur_yahoo['yahoo_code']) yahoo_resp = [] player_pos = [] for i in range(0, len(query)): print query[i] p = auth.api_query(y, query[i]) #some players dont exist in a given year. skip them if 'error' in p.keys(): continue #just player pos elig_pos = p['fantasy_content']['player']['eligible_positions']['position'] playerid = p['fantasy_content']['player']['player_id'] #if it's a string, not a list, make it a list if not hasattr(elig_pos, '__iter__'): elig_pos = [elig_pos] for j in range(0, len(elig_pos)): print j player_pos.append({'playerid': playerid, 'pos': elig_pos[j]}) p_data = data_prep.process_player_dict(p) yahoo_resp.append(p_data)
#yahoo session y = auth.yahoo_session() def basic_player_req(playerid): return 'http://fantasysports.yahooapis.com/fantasy/v2/player/' + playerid players = pd.read_csv('input/auction_results.csv') query = basic_player_req(players['yahoo_code']) #list to store api data player_data = [] #loop over players and look up data for i in range(0, len(players)): p = auth.api_query(y, basic_player_req(players.iloc[i]['yahoo_code'])) #some players dont exist in a given year. skip them if 'error' in p.keys(): print 'errored on:' print players.iloc[i] continue print players.iloc[i]['year'] print p['fantasy_content']['player']['name']['full'] #process the response and pull out some fields p = p['fantasy_content']['player'] p['full_name'] = p['name']['full'] p['first_name'] = p['name']['first'] p['last_name'] = p['name']['last'] p.pop('name', None)