def get_draftkings_players(id): csv_players = get_available_players(id) draftable_players = draftables(id)["draftables"] return list([ merge_draftking_players(draftable_players, player, id) for index, player in csv_players.iterrows() ])
def update_nba_DK_slate(): if not contests_nba["contests"]: return 0 # contests = contests(sport=Sport.NFL) df = pd.DataFrame() for label in contests_nba["contests"]: if not str(label["starts_at"]).startswith(getdate()): continue # print(label["starts_at"]) id = label["draft_group_id"] break players = draftables(id) playerName = [x['names']['display'] for x in players['draftables']] sal = [x['salary'] for x in players['draftables']] pos = [x['position'] for x in players['draftables']] team = [x['team_abbreviation'] for x in players['draftables']] opp = [x['competition']['name'] for x in players['draftables']] index = 0 while index < len(playerName): if index > 0 and playerName[index] == playerName[index-1]: del playerName[index] del sal[index] del pos[index] del team[index] del opp[index] else: temp = opp[index].split() if temp[0] == team[index]: opp[index] = temp[-1] else: opp[index] = temp[0] index+=1 df['playerName'] = playerName df['sal'] = sal df['pos'] = pos df['team'] = team df['opp'] = opp df['proj'] = [0 for _ in range(len(playerName))] df.to_csv('/home/ubuntu/gitrepositories/DailyFantasySports/DFOptimizerApp/app/src/main/python/slates/NBAslateDK.csv', index=False)
def update_mlb_DK_slate(): if not contests_mlb["contests"]: return 0 # contests = contests(sport=Sport.NFL) df = pd.DataFrame() for label in contests_mlb["contests"]: if not str(label["starts_at"]).startswith(getdate()): continue # print(label["starts_at"]) id = label["draft_group_id"] break players = draftables(id) playerName = [x['names']['display'] for x in players['draftables']] sal = [x['salary'] for x in players['draftables']] pos = [x['position'] for x in players['draftables']] team = [x['team_abbreviation'] for x in players['draftables']] opp = [x['competition']['name'] for x in players['draftables']] index = 0 while index < len(playerName): if index > 0 and playerName[index] == playerName[index-1]: del playerName[index] del sal[index] del pos[index] del team[index] del opp[index] else: temp = opp[index].split() if temp[0] == team[index]: opp[index] = temp[-1] else: opp[index] = temp[0] index+=1 df['playerName'] = playerName df['sal'] = sal df['pos'] = pos df['team'] = team df['opp'] = opp df['proj'] = [0 for _ in range(len(playerName))]
def test_get_draftables(self): response = draftables(draft_group_id=18186) self.assertIsNotNone(response)
def update_nfl_FD_slate(): if not contests_nfl["contests"]: return 0 df = pd.DataFrame() id = None for label in contests_nfl["contests"]: if not str(label["starts_at"]).startswith(changedate_nfl()): continue # print(label["starts_at"]) id = label["draft_group_id"] break if id is None: return 0 players = draftables(id) playerName = [x['names']['display'] for x in players['draftables']] pos = [x['position'] for x in players['draftables']] team = [x['team_abbreviation'] for x in players['draftables']] opp = [x['competition']['name'] for x in players['draftables']] index = 0 while index < len(playerName): if index > 0 and playerName[index] == playerName[index - 1]: del playerName[index] del pos[index] del team[index] del opp[index] else: temp = opp[index].split() if temp[0] == team[index]: opp[index] = temp[-1] else: opp[index] = temp[0] index += 1 df['playerName'] = playerName df['sal'] = [0 for _ in range(len(playerName))] df['pos'] = pos df['team'] = team df['opp'] = opp df['proj'] = [0 for _ in range(len(playerName))] sl = df # set up some parameters for scrape base_url = 'http://www.fantasypros.com/nfl/projections' position_list = ['qb', 'rb', 'wr', 'te', 'k', 'dst'] frames = [] for position in position_list: temp = position + '.php?scoring=PPR' url = '%s/%s' % (base_url, temp) response = requests.get(url) # use expert:expert in request to get only one expert at a time # use pandas to parse the HTML table for us df = pd.io.html.read_html(response.text, attrs={'id': 'data'})[0] # df['WEEK'] = current_week # df['POSITION'] = position.upper() df.rename(columns=COLUMN_MAPPINGS[position.upper()], inplace=True) if position is not 'dst' and position is not 'k': df.columns = ['{}'.format(x[1]) for x in df.columns] # print(df.columns.values) # print(df) frames.append(df) # msg = 'getting projections for {}, week {}, postition {}' path = get_my_path() path = functools.reduce(lambda x, f: f(x), [os.path.dirname] * 1, path) # const_path = os.path.join(path, "NFLtemp.csv") check = len(frames) count = 0 for frame in frames: count = count + 1 # print(frame) for i in range(len(frame)): if count < check: name = frame.loc[i, "Player"] name = name.rsplit(' ', 1)[0] proj = frame.loc[i, "FPTS"] # print(name, proj) name = str(name) proj = str(proj) if (name == 'D.K. Metcalf'): name = 'DK Metcalf' if (name == 'Duke Johnson Jr.'): name = 'Duke Johnson' if (name == 'Wayne Gallman'): name = 'Wayne Gallman Jr.' if (name == 'D.J. Chark Jr.'): name = 'DJ Chark Jr.' if (name == 'Dwayne Haskins'): name = 'Dwayne Haskins Jr.' if (name == 'Darrell Henderson'): name = 'Darrell Henderson Jr.' sl.loc[sl['playerName'] == name, 'proj'] = proj else: name = frame.loc[i, "Player"] words = name.split() name = words[-1] if name == 'Team': name = 'Washington' proj = frame.loc[i, "FPTS"] name = name + ' ' name = str(name) proj = str(proj) # print(name, proj) sl.loc[sl['playerName'] == name, 'proj'] = proj # sl = pd.read_csv(const_path) # set up some parameters for scrape base_url = 'https://www.fantasypros.com/daily-fantasy/nfl/fanduel-salary-changes.php' response = requests.get(base_url) df = pd.io.html.read_html(response.text)[0] # print(df) # print(df[['Player','This Week']]) for i in range(len(df)): name = df.loc[i, "Player"] pos = name[-4:-1].strip() if pos == 'DST': name = name.split('(', 1)[0].strip() words = name.split() name = words[-1].strip() name = name + ' ' if (name == 'Team '): name = 'WAS Football Team ' else: name = name.split('(', 1)[0].strip() # Renames if (name == 'D.K. Metcalf'): name = 'DK Metcalf' if (name == 'Duke Johnson Jr.'): name = 'Duke Johnson' if (name == 'Wayne Gallman'): name = 'Wayne Gallman Jr.' if (name == 'D.J. Chark Jr.'): name = 'DJ Chark Jr.' if (name == 'Dwayne Haskins'): name = 'Dwayne Haskins Jr.' if (name == 'Darrell Henderson'): name = 'Darrell Henderson Jr.' sal = df.loc[i, "This Week"] sal = sal[1:] sal = sal.replace(',', '') # print(name, sal, pos) sl.loc[sl['playerName'] == name, 'sal'] = sal # print(sl.loc[sl['sal']==0]) path = get_my_path() path = functools.reduce(lambda x, f: f(x), [os.path.dirname] * 1, path) const_path = os.path.join(path, "NFLslateFD.csv") sl.to_csv(const_path)
def test_nba_draftables(self): draftables = client.draftables(draft_group_id=11513) self.assertIsNotNone(draftables)
def test_euroleague_draftables(self): draftables = client.draftables(draft_group_id=22916) self.assertIsNotNone(draftables)
def test_soccer_epl_draftables(self): draftables = client.draftables(draft_group_id=22831) self.assertIsNotNone(draftables)
def test_soccer_uefa_national_league_draftables(self): draftables = client.draftables(draft_group_id=22855) self.assertIsNotNone(draftables)
def test_cbb_draftables(self): draftables = client.draftables(draft_group_id=22958) self.assertIsNotNone(draftables)
def test_nfl_draftables(self): draftables = client.draftables(draft_group_id=22927) self.assertIsNotNone(draftables)
# # return 0 # contests = contests(sport=Sport.NFL) df = pd.DataFrame() id = None for label in contests_nfl["contests"]: if not str(label["starts_at"]).startswith(changedate_nfl()): continue # print(label["starts_at"]) id = label["draft_group_id"] break # # if id is None: # return 0 players = draftables(id) playerName = [x['names']['display'] for x in players['draftables']] sal = [x['salary'] for x in players['draftables']] pos = [x['position'] for x in players['draftables']] team = [x['team_abbreviation'] for x in players['draftables']] opp = [x['competition']['name'] for x in players['draftables']] print(playerName) index = 0 while index < len(playerName): if index > 0 and playerName[index] == playerName[index - 1]: del playerName[index] del sal[index] del pos[index] del team[index]