Spaces:
No application file
No application file
Liss, Alex (NYC-HUG)
commited on
Commit
·
ef3bbde
1
Parent(s):
d73640d
regenerating data files
Browse files- data/april_11_multimedia_data_collect/49ers_2024_column_definitions.csv +62 -0
- data/april_11_multimedia_data_collect/49ers_2024_enhanced_stats.csv +0 -0
- data/april_11_multimedia_data_collect/game_stats.py +392 -0
- data/april_11_multimedia_data_collect/match_highlights.py +9 -6
- data/april_11_multimedia_data_collect/new_final_april 11/roster_april_11.csv +74 -0
- data/april_11_multimedia_data_collect/new_final_april 11/schedule_with_result_april_11.csv +18 -0
- data/april_11_multimedia_data_collect/new_games_with_highlights.csv +18 -0
- data/april_11_multimedia_data_collect/new_niners_players_with_highlights.csv +74 -0
- data/april_11_multimedia_data_collect/new_team_highlights.csv +0 -0
- data/april_11_multimedia_data_collect/nfl-2024-san-francisco-49ers-with-results.csv +18 -0
- data/april_11_multimedia_data_collect/niners_players_with_highlights.csv +74 -0
data/april_11_multimedia_data_collect/49ers_2024_column_definitions.csv
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
column_name,definition
|
2 |
+
game_id,Unique identifier for each game (format: YYYY_WK_HOME_AWAY)
|
3 |
+
player_id,Unique identifier for each player
|
4 |
+
player_name,Player name (Last.First format)
|
5 |
+
posteam,Team the player was on for this play
|
6 |
+
position,"Player position (QB, RB, WR, TE, OL, DL, LB, DB, etc.)"
|
7 |
+
team,Team the player was on for the season
|
8 |
+
passing_yards,Total passing yards
|
9 |
+
passing_tds,Total passing touchdowns
|
10 |
+
air_yards,Total air yards (distance ball traveled in the air)
|
11 |
+
yards_after_catch,Total yards after catch (YAC)
|
12 |
+
cpoe,Completion Percentage Over Expected (average)
|
13 |
+
qb_epa,Expected Points Added by quarterback
|
14 |
+
pass_attempts,Number of pass attempts
|
15 |
+
complete_passes,Number of completed passes
|
16 |
+
avg_air_yards,Average air yards per pass attempt
|
17 |
+
avg_yac,Average yards after catch per reception
|
18 |
+
pass_location_left,Number of passes thrown to the left side of the field
|
19 |
+
pass_location_middle,Number of passes thrown to the middle of the field
|
20 |
+
pass_location_right,Number of passes thrown to the right side of the field
|
21 |
+
pass_length_short,Number of short passes (0-9 yards)
|
22 |
+
pass_length_medium,Number of medium passes (10-19 yards)
|
23 |
+
pass_length_deep,Number of deep passes (20+ yards)
|
24 |
+
rushing_yards,Total rushing yards
|
25 |
+
rushing_tds,Total rushing touchdowns
|
26 |
+
rush_attempts,Number of rush attempts
|
27 |
+
first_downs_rush,Number of first downs achieved by rushing
|
28 |
+
xyac_mean,Expected Yards After Contact (mean)
|
29 |
+
xyac_median,Expected Yards After Contact (median)
|
30 |
+
xyac_success_rate,Expected Yards After Contact success rate
|
31 |
+
rush_epa,Expected Points Added by rushing plays
|
32 |
+
run_location_left,Number of rushes to the left side of the field
|
33 |
+
run_location_middle,Number of rushes to the middle of the field
|
34 |
+
run_location_right,Number of rushes to the right side of the field
|
35 |
+
run_gap_guard,Number of rushes through the guard gap
|
36 |
+
run_gap_tackle,Number of rushes through the tackle gap
|
37 |
+
run_gap_end,Number of rushes through the end gap
|
38 |
+
receiving_yards,Total receiving yards
|
39 |
+
receiving_tds,Total receiving touchdowns
|
40 |
+
receiving_attempts,Number of pass attempts targeting this player
|
41 |
+
first_downs_receiving,Number of first downs achieved by receiving
|
42 |
+
receiving_epa,Expected Points Added by receiving plays
|
43 |
+
avg_yac_y,Average yards after catch per reception
|
44 |
+
avg_air_yards_y,Average air yards per target
|
45 |
+
solo_tackles,Number of solo tackles
|
46 |
+
assisted_tackles,Number of assisted tackles
|
47 |
+
tackles_for_loss,Number of tackles for loss
|
48 |
+
qb_hits,Number of quarterback hits
|
49 |
+
sacks,Number of sacks (including half sacks)
|
50 |
+
interceptions,Number of interceptions
|
51 |
+
forced_fumbles,Number of forced fumbles
|
52 |
+
fumble_recoveries,Number of fumble recoveries
|
53 |
+
pass_defenses,Number of pass defenses (passes defended)
|
54 |
+
total_plays,Total number of plays
|
55 |
+
third_down_attempts,Number of third down attempts
|
56 |
+
third_down_conversions,Number of third down conversions
|
57 |
+
fourth_down_attempts,Number of fourth down attempts
|
58 |
+
fourth_down_conversions,Number of fourth down conversions
|
59 |
+
red_zone_attempts,Number of plays in the red zone (inside 20-yard line)
|
60 |
+
red_zone_touchdowns,Number of touchdowns scored in the red zone
|
61 |
+
avg_field_position,Average field position (yard line)
|
62 |
+
total_epa,Total Expected Points Added
|
data/april_11_multimedia_data_collect/49ers_2024_enhanced_stats.csv
ADDED
The diff for this file is too large to render.
See raw diff
|
|
data/april_11_multimedia_data_collect/game_stats.py
ADDED
@@ -0,0 +1,392 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
import nfl_data_py as nfl
|
3 |
+
import warnings
|
4 |
+
warnings.filterwarnings("ignore")
|
5 |
+
|
6 |
+
# =============================================
|
7 |
+
# SECTION 1: BASIC STATS (ORIGINAL CODE)
|
8 |
+
# =============================================
|
9 |
+
|
10 |
+
# 1. Setup
|
11 |
+
season = 2024
|
12 |
+
team_abbr = "SF"
|
13 |
+
|
14 |
+
# 2. Load play-by-play data for the 2024 season
|
15 |
+
print("Loading play-by-play data...")
|
16 |
+
pbp_df = nfl.import_pbp_data(years=[season], downcast=True)
|
17 |
+
|
18 |
+
# 3. Filter for games involving the San Francisco 49ers
|
19 |
+
sf_games = pbp_df[(pbp_df['home_team'] == team_abbr) | (pbp_df['away_team'] == team_abbr)]
|
20 |
+
|
21 |
+
# 4. Get unique game IDs
|
22 |
+
game_ids = sf_games['game_id'].unique()
|
23 |
+
|
24 |
+
# 5. Create separate dataframes for passing, rushing, and receiving stats
|
25 |
+
# Passing stats
|
26 |
+
passing_stats = sf_games[sf_games['passer_player_id'].notna()].groupby(['game_id', 'passer_player_id', 'passer_player_name', 'posteam']).agg(
|
27 |
+
passing_yards=('passing_yards', 'sum'),
|
28 |
+
passing_tds=('pass_touchdown', 'sum'),
|
29 |
+
interceptions=('interception', 'sum')
|
30 |
+
).reset_index()
|
31 |
+
|
32 |
+
# Rushing stats
|
33 |
+
rushing_stats = sf_games[sf_games['rusher_player_id'].notna()].groupby(['game_id', 'rusher_player_id', 'rusher_player_name', 'posteam']).agg(
|
34 |
+
rushing_yards=('rushing_yards', 'sum'),
|
35 |
+
rushing_tds=('rush_touchdown', 'sum')
|
36 |
+
).reset_index()
|
37 |
+
|
38 |
+
# Receiving stats - we need to identify receiving touchdowns from the touchdown column
|
39 |
+
# First, create a flag for receiving touchdowns
|
40 |
+
sf_games['receiving_td'] = (sf_games['touchdown'] == 1) & (sf_games['play_type'] == 'pass') & (sf_games['receiver_player_id'].notna())
|
41 |
+
|
42 |
+
# Then group by receiver
|
43 |
+
receiving_stats = sf_games[sf_games['receiver_player_id'].notna()].groupby(['game_id', 'receiver_player_id', 'receiver_player_name', 'posteam']).agg(
|
44 |
+
receiving_yards=('receiving_yards', 'sum'),
|
45 |
+
receiving_tds=('receiving_td', 'sum')
|
46 |
+
).reset_index()
|
47 |
+
|
48 |
+
# 6. Rename columns for consistency
|
49 |
+
passing_stats = passing_stats.rename(columns={'passer_player_id': 'player_id', 'passer_player_name': 'player_name'})
|
50 |
+
rushing_stats = rushing_stats.rename(columns={'rusher_player_id': 'player_id', 'rusher_player_name': 'player_name'})
|
51 |
+
receiving_stats = receiving_stats.rename(columns={'receiver_player_id': 'player_id', 'receiver_player_name': 'player_name'})
|
52 |
+
|
53 |
+
# 7. Merge all stats together
|
54 |
+
player_stats = pd.merge(passing_stats, rushing_stats, on=['game_id', 'player_id', 'player_name', 'posteam'], how='outer')
|
55 |
+
player_stats = pd.merge(player_stats, receiving_stats, on=['game_id', 'player_id', 'player_name', 'posteam'], how='outer')
|
56 |
+
|
57 |
+
# 8. Fill NaN values with 0
|
58 |
+
player_stats = player_stats.fillna(0)
|
59 |
+
|
60 |
+
# 9. Filter to only San Francisco 49ers players (on offense)
|
61 |
+
player_stats = player_stats[player_stats['posteam'] == team_abbr]
|
62 |
+
|
63 |
+
# 10. Load roster info to enrich with player position
|
64 |
+
roster_df = nfl.import_seasonal_rosters(years=[season])
|
65 |
+
player_stats = player_stats.merge(
|
66 |
+
roster_df[['player_id', 'position', 'team']],
|
67 |
+
on='player_id',
|
68 |
+
how='left'
|
69 |
+
)
|
70 |
+
|
71 |
+
# 11. Export to CSV
|
72 |
+
output_path = "49ers_2024_player_box_scores.csv"
|
73 |
+
player_stats.to_csv(output_path, index=False)
|
74 |
+
print(f"Saved basic player box scores to {output_path}")
|
75 |
+
|
76 |
+
# 12. Preview results
|
77 |
+
print("\nBasic Stats Preview:")
|
78 |
+
print(player_stats.head())
|
79 |
+
|
80 |
+
# =============================================
|
81 |
+
# SECTION 2: ENHANCED STATS
|
82 |
+
# =============================================
|
83 |
+
|
84 |
+
print("\nGenerating enhanced statistics...")
|
85 |
+
|
86 |
+
# 1. Advanced Passing Stats
|
87 |
+
advanced_passing = sf_games[sf_games['passer_player_id'].notna()].groupby(['game_id', 'passer_player_id', 'passer_player_name', 'posteam']).agg(
|
88 |
+
air_yards=('air_yards', 'sum'),
|
89 |
+
yards_after_catch=('yards_after_catch', 'sum'),
|
90 |
+
cpoe=('cpoe', 'mean'), # Completion Percentage Over Expected
|
91 |
+
qb_epa=('qb_epa', 'sum'), # QB-specific EPA
|
92 |
+
pass_attempts=('pass_attempt', 'sum'),
|
93 |
+
complete_passes=('complete_pass', 'sum'),
|
94 |
+
avg_air_yards=('air_yards', 'mean'),
|
95 |
+
avg_yac=('yards_after_catch', 'mean'),
|
96 |
+
pass_location_left=('pass_location', lambda x: (x == 'left').sum()),
|
97 |
+
pass_location_middle=('pass_location', lambda x: (x == 'middle').sum()),
|
98 |
+
pass_location_right=('pass_location', lambda x: (x == 'right').sum()),
|
99 |
+
pass_length_short=('pass_length', lambda x: (x == 'short').sum()),
|
100 |
+
pass_length_medium=('pass_length', lambda x: (x == 'medium').sum()),
|
101 |
+
pass_length_deep=('pass_length', lambda x: (x == 'deep').sum())
|
102 |
+
).reset_index()
|
103 |
+
|
104 |
+
# 2. Advanced Rushing/Receiving Stats
|
105 |
+
advanced_rushing = sf_games[sf_games['rusher_player_id'].notna()].groupby(['game_id', 'rusher_player_id', 'rusher_player_name', 'posteam']).agg(
|
106 |
+
rush_attempts=('rush_attempt', 'sum'),
|
107 |
+
first_downs_rush=('first_down_rush', 'sum'),
|
108 |
+
xyac_mean=('xyac_mean_yardage', 'mean'),
|
109 |
+
xyac_median=('xyac_median_yardage', 'mean'),
|
110 |
+
xyac_success_rate=('xyac_success', 'mean'),
|
111 |
+
rush_epa=('epa', 'sum'),
|
112 |
+
run_location_left=('run_location', lambda x: (x == 'left').sum()),
|
113 |
+
run_location_middle=('run_location', lambda x: (x == 'middle').sum()),
|
114 |
+
run_location_right=('run_location', lambda x: (x == 'right').sum()),
|
115 |
+
run_gap_guard=('run_gap', lambda x: (x == 'guard').sum()),
|
116 |
+
run_gap_tackle=('run_gap', lambda x: (x == 'tackle').sum()),
|
117 |
+
run_gap_end=('run_gap', lambda x: (x == 'end').sum())
|
118 |
+
).reset_index()
|
119 |
+
|
120 |
+
advanced_receiving = sf_games[sf_games['receiver_player_id'].notna()].groupby(['game_id', 'receiver_player_id', 'receiver_player_name', 'posteam']).agg(
|
121 |
+
receiving_attempts=('pass_attempt', 'sum'),
|
122 |
+
first_downs_receiving=('first_down_pass', 'sum'),
|
123 |
+
receiving_epa=('epa', 'sum'),
|
124 |
+
avg_yac=('yards_after_catch', 'mean'),
|
125 |
+
avg_air_yards=('air_yards', 'mean')
|
126 |
+
).reset_index()
|
127 |
+
|
128 |
+
# 3. Defensive Player Stats
|
129 |
+
# Create a list of all defensive player IDs from various defensive play columns
|
130 |
+
defensive_player_ids = []
|
131 |
+
defensive_player_names = []
|
132 |
+
|
133 |
+
# Solo tackles
|
134 |
+
solo_tackle_players = sf_games[sf_games['solo_tackle_1_player_id'].notna()][['game_id', 'solo_tackle_1_player_id', 'solo_tackle_1_player_name', 'defteam']]
|
135 |
+
solo_tackle_players = solo_tackle_players.rename(columns={'solo_tackle_1_player_id': 'player_id', 'solo_tackle_1_player_name': 'player_name'})
|
136 |
+
defensive_player_ids.append(solo_tackle_players)
|
137 |
+
|
138 |
+
# Assisted tackles
|
139 |
+
assist_tackle_players = sf_games[sf_games['assist_tackle_1_player_id'].notna()][['game_id', 'assist_tackle_1_player_id', 'assist_tackle_1_player_name', 'defteam']]
|
140 |
+
assist_tackle_players = assist_tackle_players.rename(columns={'assist_tackle_1_player_id': 'player_id', 'assist_tackle_1_player_name': 'player_name'})
|
141 |
+
defensive_player_ids.append(assist_tackle_players)
|
142 |
+
|
143 |
+
# Sacks
|
144 |
+
sack_players = sf_games[sf_games['sack_player_id'].notna()][['game_id', 'sack_player_id', 'sack_player_name', 'defteam']]
|
145 |
+
sack_players = sack_players.rename(columns={'sack_player_id': 'player_id', 'sack_player_name': 'player_name'})
|
146 |
+
defensive_player_ids.append(sack_players)
|
147 |
+
|
148 |
+
# Interceptions
|
149 |
+
int_players = sf_games[sf_games['interception_player_id'].notna()][['game_id', 'interception_player_id', 'interception_player_name', 'defteam']]
|
150 |
+
int_players = int_players.rename(columns={'interception_player_id': 'player_id', 'interception_player_name': 'player_name'})
|
151 |
+
defensive_player_ids.append(int_players)
|
152 |
+
|
153 |
+
# Forced fumbles
|
154 |
+
ff_players = sf_games[sf_games['forced_fumble_player_1_player_id'].notna()][['game_id', 'forced_fumble_player_1_player_id', 'forced_fumble_player_1_player_name', 'forced_fumble_player_1_team']]
|
155 |
+
ff_players = ff_players.rename(columns={'forced_fumble_player_1_player_id': 'player_id', 'forced_fumble_player_1_player_name': 'player_name', 'forced_fumble_player_1_team': 'defteam'})
|
156 |
+
defensive_player_ids.append(ff_players)
|
157 |
+
|
158 |
+
# Fumble recoveries
|
159 |
+
fr_players = sf_games[sf_games['fumble_recovery_1_player_id'].notna()][['game_id', 'fumble_recovery_1_player_id', 'fumble_recovery_1_player_name', 'fumble_recovery_1_team']]
|
160 |
+
fr_players = fr_players.rename(columns={'fumble_recovery_1_player_id': 'player_id', 'fumble_recovery_1_player_name': 'player_name', 'fumble_recovery_1_team': 'defteam'})
|
161 |
+
defensive_player_ids.append(fr_players)
|
162 |
+
|
163 |
+
# Pass defenses
|
164 |
+
pd_players = sf_games[sf_games['pass_defense_1_player_id'].notna()][['game_id', 'pass_defense_1_player_id', 'pass_defense_1_player_name', 'defteam']]
|
165 |
+
pd_players = pd_players.rename(columns={'pass_defense_1_player_id': 'player_id', 'pass_defense_1_player_name': 'player_name'})
|
166 |
+
defensive_player_ids.append(pd_players)
|
167 |
+
|
168 |
+
# Combine all defensive player dataframes
|
169 |
+
defensive_players = pd.concat(defensive_player_ids, ignore_index=True)
|
170 |
+
defensive_players = defensive_players.drop_duplicates()
|
171 |
+
|
172 |
+
# Now calculate defensive stats for each player
|
173 |
+
defensive_stats = sf_games.groupby(['game_id', 'defteam']).agg(
|
174 |
+
solo_tackles=('solo_tackle', 'sum'),
|
175 |
+
assisted_tackles=('assist_tackle', 'sum'),
|
176 |
+
tackles_for_loss=('tackled_for_loss', 'sum'),
|
177 |
+
qb_hits=('qb_hit', 'sum'),
|
178 |
+
sacks=('sack', 'sum'),
|
179 |
+
interceptions=('interception', 'sum'),
|
180 |
+
forced_fumbles=('fumble_forced', 'sum'),
|
181 |
+
fumble_recoveries=('fumble_recovery_1_yards', lambda x: (x > 0).sum()),
|
182 |
+
pass_defenses=('pass_defense_1_player_id', lambda x: x.notna().sum())
|
183 |
+
).reset_index()
|
184 |
+
|
185 |
+
# Create a function to calculate individual defensive player stats
|
186 |
+
def calculate_defensive_player_stats(player_id, player_name, game_id, team):
|
187 |
+
player_games = sf_games[sf_games['game_id'] == game_id]
|
188 |
+
|
189 |
+
# Solo tackles
|
190 |
+
solo_tackles = player_games[player_games['solo_tackle_1_player_id'] == player_id].shape[0]
|
191 |
+
solo_tackles += player_games[player_games['solo_tackle_2_player_id'] == player_id].shape[0]
|
192 |
+
|
193 |
+
# Assisted tackles
|
194 |
+
assist_tackles = player_games[player_games['assist_tackle_1_player_id'] == player_id].shape[0]
|
195 |
+
assist_tackles += player_games[player_games['assist_tackle_2_player_id'] == player_id].shape[0]
|
196 |
+
assist_tackles += player_games[player_games['assist_tackle_3_player_id'] == player_id].shape[0]
|
197 |
+
assist_tackles += player_games[player_games['assist_tackle_4_player_id'] == player_id].shape[0]
|
198 |
+
|
199 |
+
# Sacks
|
200 |
+
sacks = player_games[player_games['sack_player_id'] == player_id].shape[0]
|
201 |
+
sacks += player_games[player_games['half_sack_1_player_id'] == player_id].shape[0] * 0.5
|
202 |
+
sacks += player_games[player_games['half_sack_2_player_id'] == player_id].shape[0] * 0.5
|
203 |
+
|
204 |
+
# Interceptions
|
205 |
+
interceptions = player_games[player_games['interception_player_id'] == player_id].shape[0]
|
206 |
+
|
207 |
+
# Forced fumbles
|
208 |
+
forced_fumbles = player_games[player_games['forced_fumble_player_1_player_id'] == player_id].shape[0]
|
209 |
+
forced_fumbles += player_games[player_games['forced_fumble_player_2_player_id'] == player_id].shape[0]
|
210 |
+
|
211 |
+
# Fumble recoveries
|
212 |
+
fumble_recoveries = player_games[player_games['fumble_recovery_1_player_id'] == player_id].shape[0]
|
213 |
+
fumble_recoveries += player_games[player_games['fumble_recovery_2_player_id'] == player_id].shape[0]
|
214 |
+
|
215 |
+
# Pass defenses
|
216 |
+
pass_defenses = player_games[player_games['pass_defense_1_player_id'] == player_id].shape[0]
|
217 |
+
pass_defenses += player_games[player_games['pass_defense_2_player_id'] == player_id].shape[0]
|
218 |
+
|
219 |
+
# Tackles for loss
|
220 |
+
tackles_for_loss = player_games[player_games['tackle_for_loss_1_player_id'] == player_id].shape[0]
|
221 |
+
tackles_for_loss += player_games[player_games['tackle_for_loss_2_player_id'] == player_id].shape[0]
|
222 |
+
|
223 |
+
# QB hits
|
224 |
+
qb_hits = player_games[player_games['qb_hit_1_player_id'] == player_id].shape[0]
|
225 |
+
qb_hits += player_games[player_games['qb_hit_2_player_id'] == player_id].shape[0]
|
226 |
+
|
227 |
+
return pd.Series({
|
228 |
+
'solo_tackles': solo_tackles,
|
229 |
+
'assisted_tackles': assist_tackles,
|
230 |
+
'tackles_for_loss': tackles_for_loss,
|
231 |
+
'qb_hits': qb_hits,
|
232 |
+
'sacks': sacks,
|
233 |
+
'interceptions': interceptions,
|
234 |
+
'forced_fumbles': forced_fumbles,
|
235 |
+
'fumble_recoveries': fumble_recoveries,
|
236 |
+
'pass_defenses': pass_defenses
|
237 |
+
})
|
238 |
+
|
239 |
+
# Apply the function to each defensive player
|
240 |
+
defensive_player_stats = []
|
241 |
+
for _, row in defensive_players.iterrows():
|
242 |
+
stats = calculate_defensive_player_stats(row['player_id'], row['player_name'], row['game_id'], row['defteam'])
|
243 |
+
stats['game_id'] = row['game_id']
|
244 |
+
stats['player_id'] = row['player_id']
|
245 |
+
stats['player_name'] = row['player_name']
|
246 |
+
stats['posteam'] = row['defteam'] # Use defteam as posteam for consistency
|
247 |
+
defensive_player_stats.append(stats)
|
248 |
+
|
249 |
+
# Convert to DataFrame
|
250 |
+
defensive_player_stats_df = pd.DataFrame(defensive_player_stats)
|
251 |
+
|
252 |
+
# 4. Additional Context Stats
|
253 |
+
context_stats = sf_games.groupby(['game_id', 'posteam']).agg(
|
254 |
+
total_plays=('play_id', 'count'),
|
255 |
+
third_down_attempts=('down', lambda x: (x == 3).sum()),
|
256 |
+
third_down_conversions=('third_down_converted', 'sum'),
|
257 |
+
fourth_down_attempts=('down', lambda x: (x == 4).sum()),
|
258 |
+
fourth_down_conversions=('fourth_down_converted', 'sum'),
|
259 |
+
red_zone_attempts=('yardline_100', lambda x: (x <= 20).sum()),
|
260 |
+
red_zone_touchdowns=('touchdown', lambda x: ((x == 1) & (sf_games['yardline_100'] <= 20)).sum()),
|
261 |
+
avg_field_position=('yardline_100', 'mean'),
|
262 |
+
total_epa=('epa', 'sum')
|
263 |
+
).reset_index()
|
264 |
+
|
265 |
+
# Rename columns for consistency
|
266 |
+
advanced_passing = advanced_passing.rename(columns={'passer_player_id': 'player_id', 'passer_player_name': 'player_name'})
|
267 |
+
advanced_rushing = advanced_rushing.rename(columns={'rusher_player_id': 'player_id', 'rusher_player_name': 'player_name'})
|
268 |
+
advanced_receiving = advanced_receiving.rename(columns={'receiver_player_id': 'player_id', 'receiver_player_name': 'player_name'})
|
269 |
+
|
270 |
+
# Merge all enhanced stats
|
271 |
+
enhanced_stats = pd.merge(advanced_passing, advanced_rushing, on=['game_id', 'player_id', 'player_name', 'posteam'], how='outer')
|
272 |
+
enhanced_stats = pd.merge(enhanced_stats, advanced_receiving, on=['game_id', 'player_id', 'player_name', 'posteam'], how='outer')
|
273 |
+
|
274 |
+
# Add defensive player stats
|
275 |
+
enhanced_stats = pd.merge(enhanced_stats, defensive_player_stats_df, on=['game_id', 'player_id', 'player_name', 'posteam'], how='outer')
|
276 |
+
|
277 |
+
# Add roster information
|
278 |
+
enhanced_stats = enhanced_stats.merge(
|
279 |
+
roster_df[['player_id', 'position', 'team']],
|
280 |
+
on='player_id',
|
281 |
+
how='left'
|
282 |
+
)
|
283 |
+
|
284 |
+
# Fill NaN values with 0
|
285 |
+
enhanced_stats = enhanced_stats.fillna(0)
|
286 |
+
|
287 |
+
# Filter to only San Francisco 49ers players
|
288 |
+
enhanced_stats = enhanced_stats[enhanced_stats['posteam'] == team_abbr]
|
289 |
+
|
290 |
+
# Export enhanced stats
|
291 |
+
enhanced_output_path = "49ers_2024_enhanced_stats.csv"
|
292 |
+
enhanced_stats.to_csv(enhanced_output_path, index=False)
|
293 |
+
print(f"Saved enhanced player statistics to {enhanced_output_path}")
|
294 |
+
|
295 |
+
# Preview enhanced stats
|
296 |
+
print("\nEnhanced Stats Preview:")
|
297 |
+
print(enhanced_stats.head())
|
298 |
+
|
299 |
+
# =============================================
|
300 |
+
# SECTION 3: COLUMN DEFINITIONS
|
301 |
+
# =============================================
|
302 |
+
|
303 |
+
print("\nGenerating column definitions...")
|
304 |
+
|
305 |
+
# Create a dictionary of column definitions
|
306 |
+
column_definitions = {
|
307 |
+
# Basic identifiers
|
308 |
+
'game_id': 'Unique identifier for each game (format: YYYY_WK_HOME_AWAY)',
|
309 |
+
'player_id': 'Unique identifier for each player',
|
310 |
+
'player_name': 'Player name (Last.First format)',
|
311 |
+
'posteam': 'Team the player was on for this play',
|
312 |
+
'position': 'Player position (QB, RB, WR, TE, OL, DL, LB, DB, etc.)',
|
313 |
+
'team': 'Team the player was on for the season',
|
314 |
+
|
315 |
+
# Passing stats
|
316 |
+
'passing_yards': 'Total passing yards',
|
317 |
+
'passing_tds': 'Total passing touchdowns',
|
318 |
+
'air_yards': 'Total air yards (distance ball traveled in the air)',
|
319 |
+
'yards_after_catch': 'Total yards after catch (YAC)',
|
320 |
+
'cpoe': 'Completion Percentage Over Expected (average)',
|
321 |
+
'qb_epa': 'Expected Points Added by quarterback',
|
322 |
+
'pass_attempts': 'Number of pass attempts',
|
323 |
+
'complete_passes': 'Number of completed passes',
|
324 |
+
'avg_air_yards': 'Average air yards per pass attempt',
|
325 |
+
'avg_yac': 'Average yards after catch per reception',
|
326 |
+
'pass_location_left': 'Number of passes thrown to the left side of the field',
|
327 |
+
'pass_location_middle': 'Number of passes thrown to the middle of the field',
|
328 |
+
'pass_location_right': 'Number of passes thrown to the right side of the field',
|
329 |
+
'pass_length_short': 'Number of short passes (0-9 yards)',
|
330 |
+
'pass_length_medium': 'Number of medium passes (10-19 yards)',
|
331 |
+
'pass_length_deep': 'Number of deep passes (20+ yards)',
|
332 |
+
|
333 |
+
# Rushing stats
|
334 |
+
'rushing_yards': 'Total rushing yards',
|
335 |
+
'rushing_tds': 'Total rushing touchdowns',
|
336 |
+
'rush_attempts': 'Number of rush attempts',
|
337 |
+
'first_downs_rush': 'Number of first downs achieved by rushing',
|
338 |
+
'xyac_mean': 'Expected Yards After Contact (mean)',
|
339 |
+
'xyac_median': 'Expected Yards After Contact (median)',
|
340 |
+
'xyac_success_rate': 'Expected Yards After Contact success rate',
|
341 |
+
'rush_epa': 'Expected Points Added by rushing plays',
|
342 |
+
'run_location_left': 'Number of rushes to the left side of the field',
|
343 |
+
'run_location_middle': 'Number of rushes to the middle of the field',
|
344 |
+
'run_location_right': 'Number of rushes to the right side of the field',
|
345 |
+
'run_gap_guard': 'Number of rushes through the guard gap',
|
346 |
+
'run_gap_tackle': 'Number of rushes through the tackle gap',
|
347 |
+
'run_gap_end': 'Number of rushes through the end gap',
|
348 |
+
|
349 |
+
# Receiving stats
|
350 |
+
'receiving_yards': 'Total receiving yards',
|
351 |
+
'receiving_tds': 'Total receiving touchdowns',
|
352 |
+
'receiving_attempts': 'Number of pass attempts targeting this player',
|
353 |
+
'first_downs_receiving': 'Number of first downs achieved by receiving',
|
354 |
+
'receiving_epa': 'Expected Points Added by receiving plays',
|
355 |
+
'avg_yac_y': 'Average yards after catch per reception',
|
356 |
+
'avg_air_yards_y': 'Average air yards per target',
|
357 |
+
|
358 |
+
# Defensive stats
|
359 |
+
'solo_tackles': 'Number of solo tackles',
|
360 |
+
'assisted_tackles': 'Number of assisted tackles',
|
361 |
+
'tackles_for_loss': 'Number of tackles for loss',
|
362 |
+
'qb_hits': 'Number of quarterback hits',
|
363 |
+
'sacks': 'Number of sacks (including half sacks)',
|
364 |
+
'interceptions': 'Number of interceptions',
|
365 |
+
'forced_fumbles': 'Number of forced fumbles',
|
366 |
+
'fumble_recoveries': 'Number of fumble recoveries',
|
367 |
+
'pass_defenses': 'Number of pass defenses (passes defended)',
|
368 |
+
|
369 |
+
# Context stats
|
370 |
+
'total_plays': 'Total number of plays',
|
371 |
+
'third_down_attempts': 'Number of third down attempts',
|
372 |
+
'third_down_conversions': 'Number of third down conversions',
|
373 |
+
'fourth_down_attempts': 'Number of fourth down attempts',
|
374 |
+
'fourth_down_conversions': 'Number of fourth down conversions',
|
375 |
+
'red_zone_attempts': 'Number of plays in the red zone (inside 20-yard line)',
|
376 |
+
'red_zone_touchdowns': 'Number of touchdowns scored in the red zone',
|
377 |
+
'avg_field_position': 'Average field position (yard line)',
|
378 |
+
'total_epa': 'Total Expected Points Added'
|
379 |
+
}
|
380 |
+
|
381 |
+
# Create a DataFrame from the dictionary
|
382 |
+
column_definitions_df = pd.DataFrame({
|
383 |
+
'column_name': list(column_definitions.keys()),
|
384 |
+
'definition': list(column_definitions.values())
|
385 |
+
})
|
386 |
+
|
387 |
+
# Export column definitions
|
388 |
+
column_definitions_path = "49ers_2024_column_definitions.csv"
|
389 |
+
column_definitions_df.to_csv(column_definitions_path, index=False)
|
390 |
+
print(f"Saved column definitions to {column_definitions_path}")
|
391 |
+
|
392 |
+
print("\nScript completed successfully!")
|
data/april_11_multimedia_data_collect/match_highlights.py
CHANGED
@@ -1,14 +1,17 @@
|
|
1 |
import csv
|
2 |
import re
|
|
|
|
|
3 |
from collections import defaultdict
|
4 |
|
|
|
5 |
# Define file paths
|
6 |
-
YOUTUBE_HIGHLIGHTS_PATH =
|
7 |
-
PLAYERS_ROSTER_PATH =
|
8 |
-
GAMES_SCHEDULE_PATH = "
|
9 |
-
OUTPUT_PLAYERS_PATH =
|
10 |
-
OUTPUT_GAMES_PATH =
|
11 |
-
OUTPUT_TEAM_VIDEOS_PATH =
|
12 |
|
13 |
def load_youtube_highlights():
|
14 |
"""Load YouTube highlights data from CSV file."""
|
|
|
1 |
import csv
|
2 |
import re
|
3 |
+
import os
|
4 |
+
from pathlib import Path
|
5 |
from collections import defaultdict
|
6 |
|
7 |
+
|
8 |
# Define file paths
|
9 |
+
YOUTUBE_HIGHLIGHTS_PATH = "youtube_highlights.csv"
|
10 |
+
PLAYERS_ROSTER_PATH = "niners_players_headshots_with_socials_merged.csv"
|
11 |
+
GAMES_SCHEDULE_PATH = "nfl-2024-san-francisco-49ers-with-results.csv"
|
12 |
+
OUTPUT_PLAYERS_PATH = "new_niners_players_with_highlights.csv"
|
13 |
+
OUTPUT_GAMES_PATH = "new_games_with_highlights.csv"
|
14 |
+
OUTPUT_TEAM_VIDEOS_PATH = "new_team_highlights.csv"
|
15 |
|
16 |
def load_youtube_highlights():
|
17 |
"""Load YouTube highlights data from CSV file."""
|
data/april_11_multimedia_data_collect/new_final_april 11/roster_april_11.csv
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Player,Number,Pos,HT,WT,Age,Exp,College,status,player_id,headshot_url,instagram_url,highlight_video_url
|
2 |
+
Israel Abanikanda,20,RB,5-10,216,22,2,Pittsburgh,Active,c1f595b7-9043-4569-9ff6-97e0f31a5ba5,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wo7d9oli06eki4mnh3i8.png,https://www.instagram.com/izzygetsbusy__/?hl=en,
|
3 |
+
Brandon Allen,17,QB,6-2,209,32,8,Arkansas,Active,86f109ac-c967-4c17-af5c-97395270c489,#N/A,#N/A,#N/A
|
4 |
+
Evan Anderson,69,DL,6-3,326,23,R,Florida Atlantic,Active,7774475d-ab11-4247-a631-9c7d29ba9745,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/ng7oamywxvqgkx6l6kqc.png,https://www.instagram.com/klamps8/?hl=en,
|
5 |
+
Tre Avery,36,CB,5-11,181,28,3,Rutgers,Active,59e3afa0-cb40-4f8e-9052-88b9af20e074,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/a7kfv7xjftqlaqghk6sg,https://www.instagram.com/t.avery21/?hl=en,
|
6 |
+
Robert Beal Jr.,51,DL,6-4,250,25,2,Georgia,Active,dcecbaa2-2803-4716-a729-45e1c80d6ab8,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/jwwhmt5d8mi0vdb8nfic.jpg,https://www.instagram.com/oursf49ers/reel/C_CVQxxp2ti/,
|
7 |
+
Tatum Bethune,48,LB,6-0,299,24,R,Florida State,Active,f51beff4-e90c-4b73-9253-8699c46a94ff,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/vl08pinqpmoubdf0zy5s.png,https://www.instagram.com/tatumx15/?hl=en,
|
8 |
+
Nick Bosa,97,DL,6-4,266,27,6,Ohio State,Active,9cf4b059-d05c-4d22-9ca3-c5aee41ebfdc,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/utiwswqvpkiwtocijwhz.jpg,https://www.instagram.com/nbsmallerbear/?hl=en,https://www.youtube.com/watch?v=URvcwUEQYMw
|
9 |
+
Jake Brendel,64,OL,6-4,299,32,7,UCLA,Active,b7c1b4e2-4d9c-47cc-8ac2-b6e0d2493157,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/svsb41aekpzt3m9snilw.jpg,https://www.instagram.com/jake.brendel/?hl=en,
|
10 |
+
Ji'Ayir Brown,27,S,5-11,202,25,2,Penn State,Active,e5950f0d-0d24-4e2f-b96a-36ebedb604a9,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/urillpic02z774n09xvf.jpg,https://www.instagram.com/_tiig/?hl=en,
|
11 |
+
Chris Conley,18,WR,6-3,205,32,10,Georgia,Active,f35d154a-0a53-476e-b0c2-49ae5d33b7eb,#N/A,#N/A,#N/A
|
12 |
+
Jacob Cowing,19,WR,5-9,171,24,R,Arizona,Active,564daa89-38f8-4c8a-8760-de1923f9a681,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/lg7aao0umc21oioufqdx.png,https://www.instagram.com/jaycowing_/?hl=en,
|
13 |
+
Kalia Davis,93,DL,6-2,310,26,3,Central Florida,Active,9ecde51b-8b49-40a3-ba42-e8c5787c279c,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/rmnxj3sh7pyldmcxqe32.jpg,https://www.instagram.com/ucf.football/p/C3No6rTugDe/,https://www.youtube.com/watch?v=xE4jfmV7kGg
|
14 |
+
Khalil Davis,50,DL,6-2,315,28,4,Nebraska,Active,5162b93a-4f44-45fd-8d6b-f5714f4c7e91,#N/A,#N/A,#N/A
|
15 |
+
Joshua Dobbs,5,QB,6-3,220,30,8,Tennessee,Active,44b1d8d5-663c-485b-94d3-c72540441aa0,#N/A,#N/A,#N/A
|
16 |
+
Jordan Elliott,92,DL,6-4,303,27,5,Missouri,Active,f037f86a-6952-49a5-b6d3-6ce43b8e1d3d,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/xbyky8r2yuzusd2tmrw8.jpg,https://www.instagram.com/jordanelliott_nbcs/,
|
17 |
+
Luke Farrell,89,TE,6-5,250,27,4,Ohio State,Active,ba2cf281-cffa-4de5-9db9-2109331e455d,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/f2z7wpmx7ngtxcqqedla,https://www.instagram.com/lukefarrell89/?hl=en,
|
18 |
+
Tashaun Gipson Sr.,43,S,6-1,212,34,13,Wyoming,Active,14026aa2-5f8c-45bf-9b92-0971d92127e6,#N/A,#N/A,#N/A
|
19 |
+
Jalen Graham,41,LB,6-3,220,25,2,Purdue,Active,00d1db69-8b43-4d34-bbf8-17d4f00a8b71,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/pbl2a1ujopvwqrfct0jp.jpg,https://www.instagram.com/thexniners/p/CruR8IPrSV7/,
|
20 |
+
Richie Grant,27,S,6-0,200,27,4,UCF,Active,c737a041-c713-43f6-8205-f409b349e2b6,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/szeswtvt6jmbu3so3phd,https://www.instagram.com/richiegrant_/?hl=en,
|
21 |
+
Renardo Green,0,CB,6-0,186,24,R,Florida State,Active,21d23c5c-28c0-4b66-8d17-2f5c76de48ed,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/v79obx9v7tgcjjlo6hiy.png,https://www.instagram.com/dondada.8/?hl=en,https://www.youtube.com/watch?v=iIooO2pTjt4
|
22 |
+
Yetur Gross-Matos,94,DL,6-5,265,27,5,Penn State,Active,cde0a59d-19ab-44c9-ba02-476b0762e4a8,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/etuaajmvhbc5qkebgoow.jpg,https://www.instagram.com/__lobo99/?hl=en,
|
23 |
+
Isaac Guerendo,31,RB,6-0,221,24,R,Louisville,Active,4ca8e082-d358-46bf-af14-9eaab40f4fe9,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/b66rpzr9iauo5rdprvka.png,https://www.instagram.com/isaac_guerendo/?hl=en,
|
24 |
+
Charlie Heck,75,OL,6-8,311,28,5,North Carolina,Active,7d809297-6d2f-4515-ab3c-1ce3eb47e7a6,#N/A,#N/A,#N/A
|
25 |
+
Matt Hennessy,61,OL,6-3,315,27,4,Temple,Active,2f95e3de-03de-4827-a4a7-aaed42817861,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/zk8b21o8ncxnyu0gyf23,https://www.instagram.com/matt___hennessy/?hl=en,
|
26 |
+
Jauan Jennings,15,WR,6-3,212,27,4,Tennessee,Active,16794171-c7a0-4a0e-9790-6ab3b2cd3380,https://static.clubs.nfl.com/image/private/t_thumb_squared_2x/f_auto/49ers/wxsq7f4ajmhfs6tn4dg2.jpg,https://www.instagram.com/u_aintjj/?hl=en,https://www.youtube.com/watch?v=kFkNlmUQVu0
|
27 |
+
Mac Jones,10,QB,6-3,200,26,4,Alabama,Active,18df1544-69a6-460c-802e-7d262e83111d,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/pedpdxybeus7mrovsoko,https://www.instagram.com/macjones_10/?hl=en,https://www.youtube.com/watch?v=TylWJVa84VE
|
28 |
+
George Kittle,85,TE,6-4,250,31,8,Iowa,Active,3fe4cd72-43e3-40ea-8016-abb2b01503c7,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/elheepobwn1ahqwtfwat.jpg,https://www.instagram.com/gkittle/?hl=en,https://www.youtube.com/watch?v=RzMVbATV95w
|
29 |
+
Deommodore Lenoir,2,DB,5-10,200,25,4,Oregon,Active,79a00b55-fa24-45d8-a43f-772694b7776d,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/f9fnuvbpcxku9ibt9qs8.jpg,https://www.instagram.com/deommo.lenoir/?hl=en,https://www.youtube.com/watch?v=h-uvula5tNo
|
30 |
+
Nick McCloud,35,CB,6-1,193,26,4,Notre Dame,Active,c3b8f82b-92c0-4a5d-85ef-7ddaec7d3a87,#N/A,#N/A,#N/A
|
31 |
+
Colton McKivitz,68,OL,6-6,301,28,5,West Virginia,Active,63b288c1-4434-4120-867c-cee4dadd8c8a,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/jugvoxjabgsbcfbuqfew.jpg,https://www.instagram.com/cmckivitz53/?hl=en,
|
32 |
+
Jake Moody,4,K,6-1,210,25,2,Michigan,Active,9328e072-e82e-41ef-a132-ed54b649a5ca,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ygputwsbutemszr8xxkw.jpg,https://www.instagram.com/jmoods_/?hl=en,
|
33 |
+
Malik Mustapha,6,S,5-10,206,22,R,Wake Forest,Active,6cb2d19f-f0a4-4ece-9190-76345d1abc54,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/eyrgxgpbrycd9x8glk0j.png,https://www.instagram.com/stapha/,
|
34 |
+
Pat O'Donnell,40,P,6-4,220,34,10,Miami,Active,61a0a607-be7b-429d-b492-59523fad023e,#N/A,#N/A,#N/A
|
35 |
+
Sam Okuayinonu,91,DL,6-1,269,26,2,Maryland,Active,c81b6283-b1aa-40d6-a825-f01410912435,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/fyolr2zk2nplfbdze75l.jpg,https://www.instagram.com/sam.ok97/?hl=en,
|
36 |
+
Ricky Pearsall,14,WR,6-3,192,24,R,Florida,Active,27bf8c9c-7193-4f43-9533-32f1293d1bf0,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/to7q7w4kjiajseb4ljcx.png,https://www.instagram.com/ricky.pearsall/?hl=en,
|
37 |
+
Jason Pinnock,41,CB,6-0,205,25,4,Pittsburgh,Active,57f29e6b-9082-4637-af4b-0d123ef4542d,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/on29awacb9frijyggtgt,https://www.instagram.com/jpinny15/?hl=en,
|
38 |
+
Austen Pleasants,62,OT,6-7,328,27,1,Ohio,Active,d000d0a3-a7ba-442d-92af-0d407340aa2f,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wsbs5emdyzuc1sudbcls.png,https://www.instagram.com/oursf49ers/p/DDr48a4PdcO/?hl=en,
|
39 |
+
Dominick Puni,77,OL,6-5,313,25,R,Kansas,Active,aeb5a55c-4554-4116-9de0-76910e66e154,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/tq1snozjpjrgrjoflrfg.png,https://www.instagram.com/dompuni/?hl=en,
|
40 |
+
Brock Purdy,13,QB,6-1,220,25,3,Iowa State,Active,787758c9-4e9a-44f2-af68-c58165d0bc03,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wt42ykvuxpngm4m1axxn.png,https://www.instagram.com/brock.purdy13/?hl=en,https://www.youtube.com/watch?v=O-ft3FPYwiA
|
41 |
+
Demarcus Robinson,14,WR,6-1,203,30,9,Florida,Active,c97d60e5-8c92-4d2e-b782-542ca7aa7799,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/lakf0xue1qqb7ed4p6ge,https://www.instagram.com/demarcusrobinson/?hl=en,https://www.youtube.com/watch?v=1vwP8vs-mXI
|
42 |
+
Eric Saubert,82,TE,6-5,248,30,7,Drake,Active,67214339-8a36-45b9-8b25-439d97b06703,#N/A,#N/A,#N/A
|
43 |
+
Patrick Taylor Jr.,32,RB,6-2,217,26,4,Memphis,Active,4bf9f546-d80c-4cb4-8692-73d8ac68d1f1,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/hochjncae0hqcoveuexq.jpg,https://www.instagram.com/patricktaylor/?hl=en,
|
44 |
+
Tre Tomlinson,,CB,5-9,177,25,2,TCU,Active,ad3e3f2e-ee06-4406-8874-ea1921c52328,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/n5pfv126xw0psc0d1ydz,https://www.instagram.com/trevius/?hl=en,
|
45 |
+
Jake Tonges,88,TE,6-4,240,25,2,California,Active,ad391cbf-b874-4b1e-905b-2736f2b69332,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/la3z5y6u7tix6rnq2m5l.jpg,https://www.instagram.com/jaketonges/?hl=en,
|
46 |
+
Fred Warner,54,LB,6-3,230,28,7,Brigham Young,Active,cdd0eadc-19e2-4ca1-bba5-6846c9ac642b,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/zo4ftfar4bshrbipceuk.jpg,https://www.instagram.com/fred_warner/?hl=en,https://www.youtube.com/watch?v=IwBlFktlNwY
|
47 |
+
Jon Weeks,46,LS,5-10,245,39,15,Baylor,Active,587c7609-ba56-4d22-b1e6-c12576c428fd,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/d9fvm74pu4vyinveopbf,https://www.instagram.com/jonweeks46/?hl=en,https://www.youtube.com/watch?v=FO_iJ1IEOQU
|
48 |
+
Brayden Willis,9,TE,6-4,240,25,2,Oklahoma,Active,d1b16c10-c5b3-4157-bd9d-7f289f17df81,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/xmo7hsuho3ehmsjwvthc.jpg,https://www.instagram.com/brayden_willis/?hl=en,https://www.youtube.com/watch?v=3KNc8s3Xwos
|
49 |
+
Dee Winters,53,LB,5-11,227,24,2,TCU,Active,514f3569-5435-48bb-bc74-6b08d3d78ca9,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ggf13riajo0kn0y6kbu0.jpg,https://www.instagram.com/dwints_/?hl=en,
|
50 |
+
Rock Ya-Sin,33,CB,5-11,195,28,6,Temple,Active,cb00e672-232a-4137-a259-f3cf0382d466,#N/A,#N/A,#N/A
|
51 |
+
Isaac Yiadom,22,CB,6-1,232,29,7,Boston College,Active,3227c040-7d18-4803-b4b4-799667344a6d,#N/A,#N/A,#N/A
|
52 |
+
Nick Zakelj,63,OL,6-6,316,25,3,Fordham,Active,59845c40-7efc-4514-9ed6-c29d983fba31,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/o92tva22zezdz4aksadl.jpg,https://www.instagram.com/nickzakelj/?hl=en,
|
53 |
+
Player,#,Pos,HT,WT,Age,Exp,College,Reserve/Future,724825a5-7a0b-422d-946e-ce9512ad7add,#N/A,#N/A,#N/A
|
54 |
+
Isaac Alarcon,67,OL,6-7,320,26,1,Tecnológico de Monterrey,Reserve/Future,262ea245-93dc-4c61-aa41-868bc4cc5dcf,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mlhuuxukyusodzlfsmnv.jpg,https://www.instagram.com/isaac_algar/?hl=en,
|
55 |
+
Russell Gage,84,WR,6-0,184,29,7,LSU,Reserve/Future,1537733f-8218-4c45-9a0a-e00ff349a9d1,#N/A,#N/A,#N/A
|
56 |
+
Isaiah Hodgins,87,WR,6-3,200,26,4,Oregon State,Reserve/Future,f4c2cec2-d0b4-45a9-ac1b-478ce1a32b2c,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ax1oft9kqida0eokvtes.jpg,https://www.instagram.com/isaiahhodgins/?hl=en,
|
57 |
+
Quindell Johnson,,S,6-2,208,25,2,Memphis,Reserve/Future,7bee6f18-bd56-4920-a132-107c8af22bef,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/uga90lawcfxjcqna7opb,https://www.instagram.com/p/DFGnwNlymc9/,https://www.youtube.com/watch?v=VU2gRl8rgqw
|
58 |
+
Jalen McKenzie,76,OT,6-5,315,25,1,USC,Reserve/Future,473d4c85-cc2c-4020-9381-c49a7236ad68,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/gffxpns1ayxyjccymr6d.jpg,https://www.instagram.com/jay_peez70/?hl=en,
|
59 |
+
Brandon Aiyuk,11,WR,6-0,200,27,5,Arizona State,Reserve/Injured,577eb875-f886-400d-8b14-ec28a2cc5eae,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/khwofxjjwx0hcaigzxhw.png,https://www.instagram.com/brandonaiyuk/?hl=en,https://www.youtube.com/watch?v=TlAgJDpoOYk
|
60 |
+
Aaron Banks,65,OL,6-5,325,27,4,Notre Dame,Reserve/Injured,e665afb5-904a-4e86-a6da-1d859cc81f90,#N/A,#N/A,#N/A
|
61 |
+
Ben Bartch,78,OL,6-6,315,26,5,St. John's (MN),Reserve/Injured,6a1545de-63fd-4c04-bc27-58ba334e7a91,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/aqaslodzr7y0yvh5zzxa.jpg,https://www.instagram.com/bartchben/,
|
62 |
+
Tre Brown,22,CB,5-10,185,27,4,Oklahoma,Reserve/Injured,839c425d-d9b0-4b60-8c68-80d14ae382f7,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/dpemqrrweakt8dci3qfb,https://www.instagram.com/tre_brown25/?hl=en,
|
63 |
+
Spencer Burford,74,OL,6-4,300,24,3,Texas-San Antonio,Reserve/Injured,31da633a-a7f1-4ec4-a715-b04bb85e0b5f,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/lje3ae25dntkdudp6eex.jpg,https://www.instagram.com/spence__74/?hl=en,
|
64 |
+
Luke Gifford,57,LB,6-3,243,29,6,Nebraska,Reserve/Injured,069b6392-804b-4fcb-8654-d67afad1fd91,https://static.www.nfl.com/image/private/t_thumb_squared_2x/f_auto/league/mhdbbzj8amttnpd1nbpn,https://www.instagram.com/luke_gifford/?hl=en,
|
65 |
+
Kevin Givens,90,DL,6-1,285,28,5,Penn State,Reserve/Injured,a9f79e66-ff50-49eb-ae50-c442d23955fc,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mstmgft0e0ancdzspboy.jpg,https://www.instagram.com/49ers/p/DAg_Pvpz1vV/,
|
66 |
+
Darrell Luter Jr.,28,CB,6-0,190,24,2,South Alabama,Reserve/Injured,741c6fa0-0254-4f85-9066-6d46fcc1026e,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/g5rohvooet9g5w7rlhrh.jpg,https://www.instagram.com/_d.ray4k/?hl=en,
|
67 |
+
Jordan Mason,24,RB,5-11,223,25,3,Georgia Tech,Reserve/Injured,89531f13-baf0-43d6-b9f4-42a95482753a,#N/A,#N/A,#N/A
|
68 |
+
Christian McCaffrey,23,RB,5-11,210,28,8,Stanford,Reserve/Injured,052ec36c-e430-4698-9270-d925fe5bcaf4,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/a8fka6shomakkbllljgt.jpg,https://www.instagram.com/christianmccaffrey/?hl=en,https://www.youtube.com/watch?v=cu78Okf6VSo
|
69 |
+
Elijah Mitchell,25,RB,5-10,200,26,4,Louisiana,Reserve/Injured,7dfc6f25-07a8-4618-954b-b9dd96cee86e,#N/A,#N/A,#N/A
|
70 |
+
Jaylon Moore,76,OL,6-4,311,27,4,Western Michigan,Reserve/Injured,c800d89e-031f-4180-b824-8fd307cf6d2b,#N/A,#N/A,#N/A
|
71 |
+
George Odum,30,S,6-1,202,31,7,Central Arkansas,Reserve/Injured,26e72658-4503-47c4-ad74-628545e2402a,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/sqpxhoycdpegkyjn6ooc.jpg,https://www.instagram.com/george.w.odum/?hl=en,
|
72 |
+
Curtis Robinson,36,LB,6-3,235,26,3,Stanford,Reserve/Injured,072a3483-b063-48fd-bc9c-5faa9b845425,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/x3xyzgeapcafr0gicl5y.jpg,https://www.instagram.com/curtis_robinsonn/?hl=en,https://www.youtube.com/watch?v=8wyHHbXoFZI
|
73 |
+
Trent Williams,71,T,6-5,320,36,15,Oklahoma,Reserve/Injured,bb8b42ad-6042-40cd-b08c-2dc3a5cfc737,https://static.clubs.nfl.com/image/private/t_thumb_squared_2x/f_auto/49ers/bnq8i5urjualxre5caqz.jpg,https://www.instagram.com/trentwilliams71/?hl=en,https://www.youtube.com/watch?v=k7FDcmcawL0
|
74 |
+
Mitch Wishnowsky,3,P,6-2,220,33,6,Utah,Reserve/Injured,fe86f2c6-8576-4e77-b1df-a3df995eccf8,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mkf1xr1x8nr9l55oq72a.jpg,https://www.instagram.com/mitchwish3/?hl=en,https://www.youtube.com/watch?v=ZkH6eWs5Yd8
|
data/april_11_multimedia_data_collect/new_final_april 11/schedule_with_result_april_11.csv
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Match Number,Round Number,Date,Location,HomeTeam,AwayTeam,Result,game_result,game_id,Summary,highlight_video_url
|
2 |
+
1,1,10/9/24 0:15,Levi's Stadium,San Francisco 49ers,New York Jets,32 - 19,Win,7d5492b7-6372-4ab6-b878-a6ad10936f3b,"Quarterback Brock Purdy threw for 231 yards, with running back Jordan Mason rushing for 147 yards.",https://www.youtube.com/watch?v=igOb4mfV7To
|
3 |
+
28,2,15/09/2024 17:00,U.S. Bank Stadium,Minnesota Vikings,San Francisco 49ers,23 - 17,Loss,9c37ef4a-8887-4e16-a0e9-53dd21d0ed1c,"Purdy passed for 319 yards; Mason added 100 rushing yards, but the 49ers fell short.",https://www.youtube.com/watch?v=jTJw2uf-Pdg
|
4 |
+
38,3,22/09/2024 20:25,SoFi Stadium,Los Angeles Rams,San Francisco 49ers,27 - 24,Loss,b8c3e7f7-81ed-48c4-9a49-0897cac450e5,Purdy threw for 292 yards; Jauan Jennings had 175 receiving yards in a close loss.,https://www.youtube.com/watch?v=Y1dnhN-1ryU
|
5 |
+
55,4,29/09/2024 20:05,Levi's Stadium,San Francisco 49ers,New England Patriots,30 - 13,Win,b4b49323-c84d-4414-bbd4-de399145db28,Brock Purdy threw for 288 yards and a touchdown; Fred Warner returned an interception for a touchdown.,https://www.youtube.com/watch?v=NCUjGFJILLo
|
6 |
+
70,5,6/10/24 20:05,Levi's Stadium,San Francisco 49ers,Arizona Cardinals,23 - 24,Loss,efe67377-f218-4629-94d6-b0a28dae81b4,"Kyler Murray led a comeback, including a 50-yard touchdown run; Chad Ryland kicked the game-winning field goal.",https://www.youtube.com/watch?v=v62sybG_3Lk
|
7 |
+
92,6,11/10/24 0:15,Lumen Field,Seattle Seahawks,San Francisco 49ers,24 - 36,Win,be924e35-6c00-470a-a82e-f77e89f2fca9,Geno Smith's late 13-yard touchdown run secured the Seahawks' victory.,https://www.youtube.com/watch?v=LaDE1QBC3Cc
|
8 |
+
96,7,20/10/2024 20:25,Levi's Stadium,San Francisco 49ers,Kansas City Chiefs,18 - 28,Loss,c0efcedb-e8a0-4058-8ae8-df418a829c22,Specific game details are not available.,https://www.youtube.com/watch?v=4_xM1tOK-28
|
9 |
+
109,8,28/10/2024 00:20,Levi's Stadium,San Francisco 49ers,Dallas Cowboys,30 - 24,Win,9d3c8085-3864-4c86-9a47-6d91f9561e68,Specific game details are not available.,https://www.youtube.com/watch?v=7nTBwPljD-Q
|
10 |
+
149,10,10/11/24 18:00,Raymond James Stadium,Tampa Bay Buccaneers,San Francisco 49ers,20 - 23,Win,8c117905-4d53-4bfb-a85e-d4d0a52262a8,"The 49ers narrowly avoided a collapse, with Jake Moody's game-winning field goal.",https://www.youtube.com/watch?v=607mv01G8UU
|
11 |
+
158,11,17/11/2024 21:05,Levi's Stadium,San Francisco 49ers,Seattle Seahawks,17 - 20,Loss,6ee0f83e-d738-43c7-95e2-472bdaa9c2e8,Geno Smith's last-minute touchdown run ended the Seahawks' losing streak against the 49ers.,https://www.youtube.com/watch?v=VMPRSGk7bUg
|
12 |
+
169,12,24/11/2024 21:25,Lambeau Field,Green Bay Packers,San Francisco 49ers,38 - 10,Loss,89aeb6ec-c102-442f-a2b2-862a58f08c72,"Despite losing Deebo Samuel early, the 49ers secured a narrow victory.",https://www.youtube.com/watch?v=rtBtGh02HvA
|
13 |
+
181,13,2/12/24 1:20,Highmark Stadium,Buffalo Bills,San Francisco 49ers,35 - 10,Loss,051a9bbd-41b1-4946-b366-2202b9b84646,"Josh Allen scored touchdowns passing, rushing, and receiving, leading the Bills to victory.",
|
14 |
+
199,14,8/12/24 21:25,Levi's Stadium,San Francisco 49ers,Chicago Bears,38 - 13,Win,2bfc3060-5975-4c60-8cf2-cd359c318bcb,Specific game details are not available.,https://www.youtube.com/watch?v=qmzSVmVNaFg
|
15 |
+
224,15,13/12/2024 01:15,Levi's Stadium,San Francisco 49ers,Los Angeles Rams,6 - 12,Loss,07182afe-36bf-44e4-a464-52a56e9e325d,"In a rainy defensive battle, the Rams secured victory with four field goals.",https://www.youtube.com/watch?v=3JfiboQ6ZC8
|
16 |
+
228,16,22/12/2024 21:25,Hard Rock Stadium,Miami Dolphins,San Francisco 49ers,29 - 17,Loss,0be9a14c-0017-46b8-96e8-7c446e78ea84,A high-scoring game marked by a scuffle involving Jauan Jennings; the 49ers fell short.,
|
17 |
+
246,17,31/12/2024 01:15,Levi's Stadium,San Francisco 49ers,Detroit Lions,34 - 40,Loss,a6af1ef1-eece-43c2-b98f-c20494003cfe,Specific game details are not available.,https://www.youtube.com/watch?v=AooNLyum7Ng
|
18 |
+
257,18,5/1/25 21:25,State Farm Stadium,Arizona Cardinals,San Francisco 49ers,47 - 24,Loss,2c95b37b-b32d-4b30-a582-f04b8cbf12e4,Specific game details are not available.,https://www.youtube.com/watch?v=HfqGFWVdf9w
|
data/april_11_multimedia_data_collect/new_games_with_highlights.csv
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
match_number,round_number,date,location,home_team,away_team,result,game_result,opponent,highlight_video_url
|
2 |
+
1,1,10/09/2024 00:15,Levi's Stadium,San Francisco 49ers,New York Jets,32 - 19,Win,New York Jets,https://www.youtube.com/watch?v=igOb4mfV7To
|
3 |
+
28,2,15/09/2024 17:00,U.S. Bank Stadium,Minnesota Vikings,San Francisco 49ers,23 - 17,Loss,Minnesota Vikings,https://www.youtube.com/watch?v=jTJw2uf-Pdg
|
4 |
+
38,3,22/09/2024 20:25,SoFi Stadium,Los Angeles Rams,San Francisco 49ers,27 - 24,Loss,Los Angeles Rams,https://www.youtube.com/watch?v=Y1dnhN-1ryU
|
5 |
+
55,4,29/09/2024 20:05,Levi's Stadium,San Francisco 49ers,New England Patriots,30 - 13,Win,New England Patriots,https://www.youtube.com/watch?v=NCUjGFJILLo
|
6 |
+
70,5,06/10/2024 20:05,Levi's Stadium,San Francisco 49ers,Arizona Cardinals,23 - 24,Loss,Arizona Cardinals,https://www.youtube.com/watch?v=v62sybG_3Lk
|
7 |
+
92,6,11/10/2024 00:15,Lumen Field,Seattle Seahawks,San Francisco 49ers,24 - 36,Win,Seattle Seahawks,https://www.youtube.com/watch?v=LaDE1QBC3Cc
|
8 |
+
96,7,20/10/2024 20:25,Levi's Stadium,San Francisco 49ers,Kansas City Chiefs,18 - 28,Loss,Kansas City Chiefs,https://www.youtube.com/watch?v=4_xM1tOK-28
|
9 |
+
109,8,28/10/2024 00:20,Levi's Stadium,San Francisco 49ers,Dallas Cowboys,30 - 24,Win,Dallas Cowboys,https://www.youtube.com/watch?v=7nTBwPljD-Q
|
10 |
+
149,10,10/11/2024 18:00,Raymond James Stadium,Tampa Bay Buccaneers,San Francisco 49ers,20 - 23,Win,Tampa Bay Buccaneers,https://www.youtube.com/watch?v=607mv01G8UU
|
11 |
+
158,11,17/11/2024 21:05,Levi's Stadium,San Francisco 49ers,Seattle Seahawks,17 - 20,Loss,Seattle Seahawks,https://www.youtube.com/watch?v=VMPRSGk7bUg
|
12 |
+
169,12,24/11/2024 21:25,Lambeau Field,Green Bay Packers,San Francisco 49ers,38 - 10,Loss,Green Bay Packers,https://www.youtube.com/watch?v=rtBtGh02HvA
|
13 |
+
181,13,02/12/2024 01:20,Highmark Stadium,Buffalo Bills,San Francisco 49ers,35 - 10,Loss,Buffalo Bills,
|
14 |
+
199,14,08/12/2024 21:25,Levi's Stadium,San Francisco 49ers,Chicago Bears,38 - 13,Win,Chicago Bears,https://www.youtube.com/watch?v=qmzSVmVNaFg
|
15 |
+
224,15,13/12/2024 01:15,Levi's Stadium,San Francisco 49ers,Los Angeles Rams,6 - 12,Loss,Los Angeles Rams,https://www.youtube.com/watch?v=3JfiboQ6ZC8
|
16 |
+
228,16,22/12/2024 21:25,Hard Rock Stadium,Miami Dolphins,San Francisco 49ers,29 - 17,Loss,Miami Dolphins,
|
17 |
+
246,17,31/12/2024 01:15,Levi's Stadium,San Francisco 49ers,Detroit Lions,34 - 40,Loss,Detroit Lions,https://www.youtube.com/watch?v=AooNLyum7Ng
|
18 |
+
257,18,05/01/2025 21:25,State Farm Stadium,Arizona Cardinals,San Francisco 49ers,47 - 24,Loss,Arizona Cardinals,https://www.youtube.com/watch?v=HfqGFWVdf9w
|
data/april_11_multimedia_data_collect/new_niners_players_with_highlights.csv
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name,headshot_url,instagram_url,highlight_video_url
|
2 |
+
Israel Abanikanda,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wo7d9oli06eki4mnh3i8.png,https://www.instagram.com/izzygetsbusy__/?hl=en,
|
3 |
+
Brandon Aiyuk,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/khwofxjjwx0hcaigzxhw.png,https://www.instagram.com/brandonaiyuk/?hl=en,https://www.youtube.com/watch?v=TlAgJDpoOYk
|
4 |
+
Isaac Alarcon,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mlhuuxukyusodzlfsmnv.jpg,https://www.instagram.com/isaac_algar/?hl=en,
|
5 |
+
Evan Anderson,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/ng7oamywxvqgkx6l6kqc.png,https://www.instagram.com/klamps8/?hl=en,
|
6 |
+
Tre Avery,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/a7kfv7xjftqlaqghk6sg,https://www.instagram.com/t.avery21/?hl=en,
|
7 |
+
Alex Barrett,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/bm0ay22de39d1enrxwiq.jpg,https://www.instagram.com/alex.barrett/?hl=en,
|
8 |
+
Ben Bartch,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/aqaslodzr7y0yvh5zzxa.jpg,https://www.instagram.com/bartchben/,
|
9 |
+
Robert Beal Jr.,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/jwwhmt5d8mi0vdb8nfic.jpg,https://www.instagram.com/oursf49ers/reel/C_CVQxxp2ti/,
|
10 |
+
Tatum Bethune,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/vl08pinqpmoubdf0zy5s.png,https://www.instagram.com/tatumx15/?hl=en,
|
11 |
+
Nick Bosa,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/utiwswqvpkiwtocijwhz.jpg,https://www.instagram.com/nbsmallerbear/?hl=en,https://www.youtube.com/watch?v=URvcwUEQYMw
|
12 |
+
Jake Brendel,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/svsb41aekpzt3m9snilw.jpg,https://www.instagram.com/jake.brendel/?hl=en,
|
13 |
+
Ji'Ayir Brown,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/urillpic02z774n09xvf.jpg,https://www.instagram.com/_tiig/?hl=en,
|
14 |
+
Tre Brown,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/dpemqrrweakt8dci3qfb,https://www.instagram.com/tre_brown25/?hl=en,
|
15 |
+
Spencer Burford,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/lje3ae25dntkdudp6eex.jpg,https://www.instagram.com/spence__74/?hl=en,
|
16 |
+
Jacob Cowing,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/lg7aao0umc21oioufqdx.png,https://www.instagram.com/jaycowing_/?hl=en,
|
17 |
+
Kalia Davis,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/rmnxj3sh7pyldmcxqe32.jpg,https://www.instagram.com/ucf.football/p/C3No6rTugDe/,https://www.youtube.com/watch?v=xE4jfmV7kGg
|
18 |
+
Jordan Elliott,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/xbyky8r2yuzusd2tmrw8.jpg,https://www.instagram.com/jordanelliott_nbcs/,
|
19 |
+
Luke Farrell,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/f2z7wpmx7ngtxcqqedla,https://www.instagram.com/lukefarrell89/?hl=en,
|
20 |
+
Russell Gage Jr.,https://static.www.nfl.com/image/private/t_thumb_squared_2x/f_auto/league/lkqhshv0dss1b9c6mdnj,https://www.instagram.com/w8k3mupruss/?hl=en,
|
21 |
+
Jonathan Garvin,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/rapfcxut6vu50vcevswe.png,https://www.instagram.com/thesfniners/p/DCmgF8KSw2A/?hl=en,
|
22 |
+
Luke Gifford,https://static.www.nfl.com/image/private/t_thumb_squared_2x/f_auto/league/mhdbbzj8amttnpd1nbpn,https://www.instagram.com/luke_gifford/?hl=en,
|
23 |
+
Kevin Givens,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mstmgft0e0ancdzspboy.jpg,https://www.instagram.com/49ers/p/DAg_Pvpz1vV/,
|
24 |
+
Jalen Graham,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/pbl2a1ujopvwqrfct0jp.jpg,https://www.instagram.com/thexniners/p/CruR8IPrSV7/,
|
25 |
+
Richie Grant,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/szeswtvt6jmbu3so3phd,https://www.instagram.com/richiegrant_/?hl=en,
|
26 |
+
Renardo Green,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/v79obx9v7tgcjjlo6hiy.png,https://www.instagram.com/dondada.8/?hl=en,https://www.youtube.com/watch?v=iIooO2pTjt4
|
27 |
+
Yetur Gross-Matos,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/etuaajmvhbc5qkebgoow.jpg,https://www.instagram.com/__lobo99/?hl=en,
|
28 |
+
Isaac Guerendo,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/b66rpzr9iauo5rdprvka.png,https://www.instagram.com/isaac_guerendo/?hl=en,
|
29 |
+
Sebastian Gutierrez,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/am9sywgkga6jq65hvboe.jpg,https://www.instagram.com/sebastiandev1/?hl=en,
|
30 |
+
Matt Hennessy,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/zk8b21o8ncxnyu0gyf23,https://www.instagram.com/matt___hennessy/?hl=en,
|
31 |
+
Isaiah Hodgins,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ax1oft9kqida0eokvtes.jpg,https://www.instagram.com/isaiahhodgins/?hl=en,
|
32 |
+
Drake Jackson,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/y2luyplzpvbzokyfbmla.jpg,https://www.instagram.com/thefreak/?hl=en,
|
33 |
+
Tarron Jackson,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/pnqrjp76bgpkmacxma3r,https://www.instagram.com/tarron_jackson/?hl=en,
|
34 |
+
Jauan Jennings,https://static.clubs.nfl.com/image/private/t_thumb_squared_2x/f_auto/49ers/wxsq7f4ajmhfs6tn4dg2.jpg,https://www.instagram.com/u_aintjj/?hl=en,https://www.youtube.com/watch?v=kFkNlmUQVu0
|
35 |
+
Quindell Johnson,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/uga90lawcfxjcqna7opb,https://www.instagram.com/p/DFGnwNlymc9/,https://www.youtube.com/watch?v=VU2gRl8rgqw
|
36 |
+
Zack Johnson,https://static.www.nfl.com/image/private/t_thumb_squared_2x/f_auto/league/n4hy8uzhcl5cl0ricwoa,https://www.instagram.com/zack.johnson.68/,https://www.youtube.com/watch?v=yDAcyWJi6qQ
|
37 |
+
Mac Jones,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/pedpdxybeus7mrovsoko,https://www.instagram.com/macjones_10/?hl=en,https://www.youtube.com/watch?v=TylWJVa84VE
|
38 |
+
Kyle Juszczyk,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ywdz6y2pfzndqgmxxfbj.jpg,https://www.instagram.com/juicecheck44/?hl=en,https://www.youtube.com/watch?v=PZCVP0l8uVk
|
39 |
+
George Kittle,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/elheepobwn1ahqwtfwat.jpg,https://www.instagram.com/gkittle/?hl=en,https://www.youtube.com/watch?v=RzMVbATV95w
|
40 |
+
Deommodore Lenoir,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/f9fnuvbpcxku9ibt9qs8.jpg,https://www.instagram.com/deommo.lenoir/?hl=en,https://www.youtube.com/watch?v=h-uvula5tNo
|
41 |
+
Chase Lucas,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/gjeejt5pbagnipodhdz4.jpg,https://www.instagram.com/chase_lucas24/?hl=en,
|
42 |
+
Darrell Luter Jr.,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/g5rohvooet9g5w7rlhrh.jpg,https://www.instagram.com/_d.ray4k/?hl=en,
|
43 |
+
Jaylen Mahoney,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/yv9inbia05nyxppuajv0.png,https://www.instagram.com/jaylenmahoney_/,
|
44 |
+
Christian McCaffrey,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/a8fka6shomakkbllljgt.jpg,https://www.instagram.com/christianmccaffrey/?hl=en,https://www.youtube.com/watch?v=cu78Okf6VSo
|
45 |
+
Jalen McKenzie,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/gffxpns1ayxyjccymr6d.jpg,https://www.instagram.com/jay_peez70/?hl=en,
|
46 |
+
Colton McKivitz,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/jugvoxjabgsbcfbuqfew.jpg,https://www.instagram.com/cmckivitz53/?hl=en,
|
47 |
+
Jake Moody,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ygputwsbutemszr8xxkw.jpg,https://www.instagram.com/jmoods_/?hl=en,
|
48 |
+
Tanner Mordecai,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/y8gipodnkeapgmegnxs1.png,https://www.instagram.com/t_mordecai/?hl=en,
|
49 |
+
Malik Mustapha,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/eyrgxgpbrycd9x8glk0j.png,https://www.instagram.com/stapha/,
|
50 |
+
Siran Neal,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/muhthfs6owkkpsyop1e6,https://www.instagram.com/siranneal/?hl=en,
|
51 |
+
Drake Nugent,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/qyb4kurtbv9uflmupfnc.png,https://www.instagram.com/drakenugent9/?hl=en,
|
52 |
+
George Odum,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/sqpxhoycdpegkyjn6ooc.jpg,https://www.instagram.com/george.w.odum/?hl=en,
|
53 |
+
Sam Okuayinonu,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/fyolr2zk2nplfbdze75l.jpg,https://www.instagram.com/sam.ok97/?hl=en,
|
54 |
+
Terique Owens,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/okhin0uwdon2nimvbtwd.png,https://www.instagram.com/terique_owens/?hl=en,
|
55 |
+
Ricky Pearsall,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/to7q7w4kjiajseb4ljcx.png,https://www.instagram.com/ricky.pearsall/?hl=en,
|
56 |
+
Jason Pinnock,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/on29awacb9frijyggtgt,https://www.instagram.com/jpinny15/?hl=en,
|
57 |
+
Austen Pleasants,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wsbs5emdyzuc1sudbcls.png,https://www.instagram.com/oursf49ers/p/DDr48a4PdcO/?hl=en,
|
58 |
+
Mason Pline,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/mvjlaxpu8bu33ohspqot.png,https://www.instagram.com/mpline12/?hl=en,
|
59 |
+
Dominick Puni,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/tq1snozjpjrgrjoflrfg.png,https://www.instagram.com/dompuni/?hl=en,
|
60 |
+
Brock Purdy,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wt42ykvuxpngm4m1axxn.png,https://www.instagram.com/brock.purdy13/?hl=en,https://www.youtube.com/watch?v=O-ft3FPYwiA
|
61 |
+
Curtis Robinson,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/x3xyzgeapcafr0gicl5y.jpg,https://www.instagram.com/curtis_robinsonn/?hl=en,https://www.youtube.com/watch?v=8wyHHbXoFZI
|
62 |
+
Demarcus Robinson,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/lakf0xue1qqb7ed4p6ge,https://www.instagram.com/demarcusrobinson/?hl=en,https://www.youtube.com/watch?v=1vwP8vs-mXI
|
63 |
+
Patrick Taylor Jr.,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/hochjncae0hqcoveuexq.jpg,https://www.instagram.com/patricktaylor/?hl=en,
|
64 |
+
Trent Taylor,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/j8lom4fnsveujt8hykef.jpg,https://www.instagram.com/trent5taylor/?hl=en,https://www.youtube.com/watch?v=kiEy31sL0co
|
65 |
+
Tre Tomlinson,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/n5pfv126xw0psc0d1ydz,https://www.instagram.com/trevius/?hl=en,
|
66 |
+
Jake Tonges,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/la3z5y6u7tix6rnq2m5l.jpg,https://www.instagram.com/jaketonges/?hl=en,
|
67 |
+
Fred Warner,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/zo4ftfar4bshrbipceuk.jpg,https://www.instagram.com/fred_warner/?hl=en,https://www.youtube.com/watch?v=IwBlFktlNwY
|
68 |
+
Jon Weeks,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/d9fvm74pu4vyinveopbf,https://www.instagram.com/jonweeks46/?hl=en,https://www.youtube.com/watch?v=FO_iJ1IEOQU
|
69 |
+
DaShaun White,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/mjnpmkw3ar6zcj2hxxzd,https://www.instagram.com/demoeto/?hl=en,https://www.youtube.com/watch?v=mk4aHkdYaUQ
|
70 |
+
Trent Williams,https://static.clubs.nfl.com/image/private/t_thumb_squared_2x/f_auto/49ers/bnq8i5urjualxre5caqz.jpg,https://www.instagram.com/trentwilliams71/?hl=en,https://www.youtube.com/watch?v=k7FDcmcawL0
|
71 |
+
Brayden Willis,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/xmo7hsuho3ehmsjwvthc.jpg,https://www.instagram.com/brayden_willis/?hl=en,https://www.youtube.com/watch?v=3KNc8s3Xwos
|
72 |
+
Dee Winters,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ggf13riajo0kn0y6kbu0.jpg,https://www.instagram.com/dwints_/?hl=en,
|
73 |
+
Mitch Wishnowsky,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mkf1xr1x8nr9l55oq72a.jpg,https://www.instagram.com/mitchwish3/?hl=en,https://www.youtube.com/watch?v=ZkH6eWs5Yd8
|
74 |
+
Nick Zakelj,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/o92tva22zezdz4aksadl.jpg,https://www.instagram.com/nickzakelj/?hl=en,
|
data/april_11_multimedia_data_collect/new_team_highlights.csv
ADDED
The diff for this file is too large to render.
See raw diff
|
|
data/april_11_multimedia_data_collect/nfl-2024-san-francisco-49ers-with-results.csv
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Match Number,Round Number,Date,Location,Home Team,Away Team,Result,game_result
|
2 |
+
1,1,10/09/2024 00:15,Levi's Stadium,San Francisco 49ers,New York Jets,32 - 19,Win
|
3 |
+
28,2,15/09/2024 17:00,U.S. Bank Stadium,Minnesota Vikings,San Francisco 49ers,23 - 17,Loss
|
4 |
+
38,3,22/09/2024 20:25,SoFi Stadium,Los Angeles Rams,San Francisco 49ers,27 - 24,Loss
|
5 |
+
55,4,29/09/2024 20:05,Levi's Stadium,San Francisco 49ers,New England Patriots,30 - 13,Win
|
6 |
+
70,5,06/10/2024 20:05,Levi's Stadium,San Francisco 49ers,Arizona Cardinals,23 - 24,Loss
|
7 |
+
92,6,11/10/2024 00:15,Lumen Field,Seattle Seahawks,San Francisco 49ers,24 - 36,Win
|
8 |
+
96,7,20/10/2024 20:25,Levi's Stadium,San Francisco 49ers,Kansas City Chiefs,18 - 28,Loss
|
9 |
+
109,8,28/10/2024 00:20,Levi's Stadium,San Francisco 49ers,Dallas Cowboys,30 - 24,Win
|
10 |
+
149,10,10/11/2024 18:00,Raymond James Stadium,Tampa Bay Buccaneers,San Francisco 49ers,20 - 23,Win
|
11 |
+
158,11,17/11/2024 21:05,Levi's Stadium,San Francisco 49ers,Seattle Seahawks,17 - 20,Loss
|
12 |
+
169,12,24/11/2024 21:25,Lambeau Field,Green Bay Packers,San Francisco 49ers,38 - 10,Loss
|
13 |
+
181,13,02/12/2024 01:20,Highmark Stadium,Buffalo Bills,San Francisco 49ers,35 - 10,Loss
|
14 |
+
199,14,08/12/2024 21:25,Levi's Stadium,San Francisco 49ers,Chicago Bears,38 - 13,Win
|
15 |
+
224,15,13/12/2024 01:15,Levi's Stadium,San Francisco 49ers,Los Angeles Rams,6 - 12,Loss
|
16 |
+
228,16,22/12/2024 21:25,Hard Rock Stadium,Miami Dolphins,San Francisco 49ers,29 - 17,Loss
|
17 |
+
246,17,31/12/2024 01:15,Levi's Stadium,San Francisco 49ers,Detroit Lions,34 - 40,Loss
|
18 |
+
257,18,05/01/2025 21:25,State Farm Stadium,Arizona Cardinals,San Francisco 49ers,47 - 24,Loss
|
data/april_11_multimedia_data_collect/niners_players_with_highlights.csv
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name,headshot_url,instagram_url,highlight_video_url
|
2 |
+
Israel Abanikanda,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wo7d9oli06eki4mnh3i8.png,https://www.instagram.com/izzygetsbusy__/?hl=en,
|
3 |
+
Brandon Aiyuk,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/khwofxjjwx0hcaigzxhw.png,https://www.instagram.com/brandonaiyuk/?hl=en,https://www.youtube.com/watch?v=TlAgJDpoOYk
|
4 |
+
Isaac Alarcon,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mlhuuxukyusodzlfsmnv.jpg,https://www.instagram.com/isaac_algar/?hl=en,
|
5 |
+
Evan Anderson,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/ng7oamywxvqgkx6l6kqc.png,https://www.instagram.com/klamps8/?hl=en,
|
6 |
+
Tre Avery,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/a7kfv7xjftqlaqghk6sg,https://www.instagram.com/t.avery21/?hl=en,
|
7 |
+
Alex Barrett,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/bm0ay22de39d1enrxwiq.jpg,https://www.instagram.com/alex.barrett/?hl=en,
|
8 |
+
Ben Bartch,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/aqaslodzr7y0yvh5zzxa.jpg,https://www.instagram.com/bartchben/,
|
9 |
+
Robert Beal Jr.,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/jwwhmt5d8mi0vdb8nfic.jpg,https://www.instagram.com/oursf49ers/reel/C_CVQxxp2ti/,
|
10 |
+
Tatum Bethune,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/vl08pinqpmoubdf0zy5s.png,https://www.instagram.com/tatumx15/?hl=en,
|
11 |
+
Nick Bosa,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/utiwswqvpkiwtocijwhz.jpg,https://www.instagram.com/nbsmallerbear/?hl=en,https://www.youtube.com/watch?v=URvcwUEQYMw
|
12 |
+
Jake Brendel,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/svsb41aekpzt3m9snilw.jpg,https://www.instagram.com/jake.brendel/?hl=en,
|
13 |
+
Ji'Ayir Brown,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/urillpic02z774n09xvf.jpg,https://www.instagram.com/_tiig/?hl=en,
|
14 |
+
Tre Brown,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/dpemqrrweakt8dci3qfb,https://www.instagram.com/tre_brown25/?hl=en,
|
15 |
+
Spencer Burford,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/lje3ae25dntkdudp6eex.jpg,https://www.instagram.com/spence__74/?hl=en,
|
16 |
+
Jacob Cowing,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/lg7aao0umc21oioufqdx.png,https://www.instagram.com/jaycowing_/?hl=en,
|
17 |
+
Kalia Davis,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/rmnxj3sh7pyldmcxqe32.jpg,https://www.instagram.com/ucf.football/p/C3No6rTugDe/,https://www.youtube.com/watch?v=xE4jfmV7kGg
|
18 |
+
Jordan Elliott,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/xbyky8r2yuzusd2tmrw8.jpg,https://www.instagram.com/jordanelliott_nbcs/,
|
19 |
+
Luke Farrell,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/f2z7wpmx7ngtxcqqedla,https://www.instagram.com/lukefarrell89/?hl=en,
|
20 |
+
Russell Gage Jr.,https://static.www.nfl.com/image/private/t_thumb_squared_2x/f_auto/league/lkqhshv0dss1b9c6mdnj,https://www.instagram.com/w8k3mupruss/?hl=en,
|
21 |
+
Jonathan Garvin,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/rapfcxut6vu50vcevswe.png,https://www.instagram.com/thesfniners/p/DCmgF8KSw2A/?hl=en,
|
22 |
+
Luke Gifford,https://static.www.nfl.com/image/private/t_thumb_squared_2x/f_auto/league/mhdbbzj8amttnpd1nbpn,https://www.instagram.com/luke_gifford/?hl=en,
|
23 |
+
Kevin Givens,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mstmgft0e0ancdzspboy.jpg,https://www.instagram.com/49ers/p/DAg_Pvpz1vV/,
|
24 |
+
Jalen Graham,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/pbl2a1ujopvwqrfct0jp.jpg,https://www.instagram.com/thexniners/p/CruR8IPrSV7/,
|
25 |
+
Richie Grant,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/szeswtvt6jmbu3so3phd,https://www.instagram.com/richiegrant_/?hl=en,
|
26 |
+
Renardo Green,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/v79obx9v7tgcjjlo6hiy.png,https://www.instagram.com/dondada.8/?hl=en,https://www.youtube.com/watch?v=iIooO2pTjt4
|
27 |
+
Yetur Gross-Matos,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/etuaajmvhbc5qkebgoow.jpg,https://www.instagram.com/__lobo99/?hl=en,
|
28 |
+
Isaac Guerendo,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/b66rpzr9iauo5rdprvka.png,https://www.instagram.com/isaac_guerendo/?hl=en,
|
29 |
+
Sebastian Gutierrez,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/am9sywgkga6jq65hvboe.jpg,https://www.instagram.com/sebastiandev1/?hl=en,
|
30 |
+
Matt Hennessy,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/zk8b21o8ncxnyu0gyf23,https://www.instagram.com/matt___hennessy/?hl=en,
|
31 |
+
Isaiah Hodgins,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ax1oft9kqida0eokvtes.jpg,https://www.instagram.com/isaiahhodgins/?hl=en,
|
32 |
+
Drake Jackson,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/y2luyplzpvbzokyfbmla.jpg,https://www.instagram.com/thefreak/?hl=en,
|
33 |
+
Tarron Jackson,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/pnqrjp76bgpkmacxma3r,https://www.instagram.com/tarron_jackson/?hl=en,
|
34 |
+
Jauan Jennings,https://static.clubs.nfl.com/image/private/t_thumb_squared_2x/f_auto/49ers/wxsq7f4ajmhfs6tn4dg2.jpg,https://www.instagram.com/u_aintjj/?hl=en,https://www.youtube.com/watch?v=kFkNlmUQVu0
|
35 |
+
Quindell Johnson,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/uga90lawcfxjcqna7opb,https://www.instagram.com/p/DFGnwNlymc9/,https://www.youtube.com/watch?v=VU2gRl8rgqw
|
36 |
+
Zack Johnson,https://static.www.nfl.com/image/private/t_thumb_squared_2x/f_auto/league/n4hy8uzhcl5cl0ricwoa,https://www.instagram.com/zack.johnson.68/,https://www.youtube.com/watch?v=yDAcyWJi6qQ
|
37 |
+
Mac Jones,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/pedpdxybeus7mrovsoko,https://www.instagram.com/macjones_10/?hl=en,https://www.youtube.com/watch?v=TylWJVa84VE
|
38 |
+
Kyle Juszczyk,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ywdz6y2pfzndqgmxxfbj.jpg,https://www.instagram.com/juicecheck44/?hl=en,https://www.youtube.com/watch?v=PZCVP0l8uVk
|
39 |
+
George Kittle,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/elheepobwn1ahqwtfwat.jpg,https://www.instagram.com/gkittle/?hl=en,https://www.youtube.com/watch?v=RzMVbATV95w
|
40 |
+
Deommodore Lenoir,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/f9fnuvbpcxku9ibt9qs8.jpg,https://www.instagram.com/deommo.lenoir/?hl=en,https://www.youtube.com/watch?v=h-uvula5tNo
|
41 |
+
Chase Lucas,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/gjeejt5pbagnipodhdz4.jpg,https://www.instagram.com/chase_lucas24/?hl=en,
|
42 |
+
Darrell Luter Jr.,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/g5rohvooet9g5w7rlhrh.jpg,https://www.instagram.com/_d.ray4k/?hl=en,
|
43 |
+
Jaylen Mahoney,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/yv9inbia05nyxppuajv0.png,https://www.instagram.com/jaylenmahoney_/,
|
44 |
+
Christian McCaffrey,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/a8fka6shomakkbllljgt.jpg,https://www.instagram.com/christianmccaffrey/?hl=en,https://www.youtube.com/watch?v=cu78Okf6VSo
|
45 |
+
Jalen McKenzie,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/gffxpns1ayxyjccymr6d.jpg,https://www.instagram.com/jay_peez70/?hl=en,
|
46 |
+
Colton McKivitz,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/jugvoxjabgsbcfbuqfew.jpg,https://www.instagram.com/cmckivitz53/?hl=en,
|
47 |
+
Jake Moody,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ygputwsbutemszr8xxkw.jpg,https://www.instagram.com/jmoods_/?hl=en,
|
48 |
+
Tanner Mordecai,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/y8gipodnkeapgmegnxs1.png,https://www.instagram.com/t_mordecai/?hl=en,
|
49 |
+
Malik Mustapha,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/eyrgxgpbrycd9x8glk0j.png,https://www.instagram.com/stapha/,
|
50 |
+
Siran Neal,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/muhthfs6owkkpsyop1e6,https://www.instagram.com/siranneal/?hl=en,
|
51 |
+
Drake Nugent,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/qyb4kurtbv9uflmupfnc.png,https://www.instagram.com/drakenugent9/?hl=en,
|
52 |
+
George Odum,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/sqpxhoycdpegkyjn6ooc.jpg,https://www.instagram.com/george.w.odum/?hl=en,
|
53 |
+
Sam Okuayinonu,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/fyolr2zk2nplfbdze75l.jpg,https://www.instagram.com/sam.ok97/?hl=en,
|
54 |
+
Terique Owens,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/okhin0uwdon2nimvbtwd.png,https://www.instagram.com/terique_owens/?hl=en,
|
55 |
+
Ricky Pearsall,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/to7q7w4kjiajseb4ljcx.png,https://www.instagram.com/ricky.pearsall/?hl=en,
|
56 |
+
Jason Pinnock,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/on29awacb9frijyggtgt,https://www.instagram.com/jpinny15/?hl=en,
|
57 |
+
Austen Pleasants,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wsbs5emdyzuc1sudbcls.png,https://www.instagram.com/oursf49ers/p/DDr48a4PdcO/?hl=en,
|
58 |
+
Mason Pline,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/mvjlaxpu8bu33ohspqot.png,https://www.instagram.com/mpline12/?hl=en,
|
59 |
+
Dominick Puni,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/tq1snozjpjrgrjoflrfg.png,https://www.instagram.com/dompuni/?hl=en,
|
60 |
+
Brock Purdy,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_png/49ers/wt42ykvuxpngm4m1axxn.png,https://www.instagram.com/brock.purdy13/?hl=en,https://www.youtube.com/watch?v=O-ft3FPYwiA
|
61 |
+
Curtis Robinson,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/x3xyzgeapcafr0gicl5y.jpg,https://www.instagram.com/curtis_robinsonn/?hl=en,https://www.youtube.com/watch?v=8wyHHbXoFZI
|
62 |
+
Demarcus Robinson,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/lakf0xue1qqb7ed4p6ge,https://www.instagram.com/demarcusrobinson/?hl=en,https://www.youtube.com/watch?v=1vwP8vs-mXI
|
63 |
+
Patrick Taylor Jr.,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/hochjncae0hqcoveuexq.jpg,https://www.instagram.com/patricktaylor/?hl=en,
|
64 |
+
Trent Taylor,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/j8lom4fnsveujt8hykef.jpg,https://www.instagram.com/trent5taylor/?hl=en,https://www.youtube.com/watch?v=kiEy31sL0co
|
65 |
+
Tre Tomlinson,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/n5pfv126xw0psc0d1ydz,https://www.instagram.com/trevius/?hl=en,
|
66 |
+
Jake Tonges,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/la3z5y6u7tix6rnq2m5l.jpg,https://www.instagram.com/jaketonges/?hl=en,
|
67 |
+
Fred Warner,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/zo4ftfar4bshrbipceuk.jpg,https://www.instagram.com/fred_warner/?hl=en,https://www.youtube.com/watch?v=IwBlFktlNwY
|
68 |
+
Jon Weeks,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/d9fvm74pu4vyinveopbf,https://www.instagram.com/jonweeks46/?hl=en,https://www.youtube.com/watch?v=FO_iJ1IEOQU
|
69 |
+
DaShaun White,https://static.www.nfl.com/image/upload/t_thumb_squared_2x/f_auto/league/mjnpmkw3ar6zcj2hxxzd,https://www.instagram.com/demoeto/?hl=en,https://www.youtube.com/watch?v=mk4aHkdYaUQ
|
70 |
+
Trent Williams,https://static.clubs.nfl.com/image/private/t_thumb_squared_2x/f_auto/49ers/bnq8i5urjualxre5caqz.jpg,https://www.instagram.com/trentwilliams71/?hl=en,https://www.youtube.com/watch?v=k7FDcmcawL0
|
71 |
+
Brayden Willis,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/xmo7hsuho3ehmsjwvthc.jpg,https://www.instagram.com/brayden_willis/?hl=en,https://www.youtube.com/watch?v=3KNc8s3Xwos
|
72 |
+
Dee Winters,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/ggf13riajo0kn0y6kbu0.jpg,https://www.instagram.com/dwints_/?hl=en,
|
73 |
+
Mitch Wishnowsky,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/mkf1xr1x8nr9l55oq72a.jpg,https://www.instagram.com/mitchwish3/?hl=en,https://www.youtube.com/watch?v=ZkH6eWs5Yd8
|
74 |
+
Nick Zakelj,https://static.clubs.nfl.com/image/upload/t_thumb_squared_2x/f_auto/49ers/o92tva22zezdz4aksadl.jpg,https://www.instagram.com/nickzakelj/?hl=en,
|