22 Commits
Author SHA1 Message Date
nprasad2077 5eaa50f4e7 central teams list 2023-09-20 02:33:13 -05:00
nprasad2077 4b1d07353d 2009 done 2023-09-20 01:08:57 -05:00
nprasad2077 0701ef19d2 usage and readme 2023-09-20 00:00:01 -05:00
nprasad2077 3558b1c154 script update 2023-09-19 19:15:12 -05:00
nprasad2077 150bda67ca player name and season totals query; 2023-06-22 21:21:12 -05:00
nprasad2077 395f15683a player lookup changes 2023-06-22 21:06:39 -05:00
nprasad2077 8010111e82 Merge branch 'main' of github.com:nprasad2077/nbaStats into deploy 2023-06-22 20:59:42 -05:00
Nikhil Prasad caa97b109a Update README.md 2023-06-20 11:59:19 -05:00
nprasad2077 030cfcd1d9 updated playoffs limit 2023-05-24 22:00:26 -05:00
nprasad2077 ae1b6a49f8 updated top players limit 2023-05-24 21:54:33 -05:00
nprasad2077 405d3d0356 modify success message 2023-05-24 18:43:59 -05:00
Nikhil Prasad fcfb8eadbe Merge pull request #14 from nprasad2077/dev
Dev
2023-05-11 16:14:02 -05:00
Nikhil Prasad ff8084966a Merge pull request #12 from nprasad2077/dev
Dev
2023-05-10 15:33:30 -05:00
Nikhil Prasad 0e04f29d37 Merge pull request #10 from nprasad2077/dev
Dev
2023-05-08 18:54:16 -05:00
Nikhil Prasad 31ee84dfe8 Merge pull request #8 from nprasad2077/dev
Dev
2023-05-02 02:09:15 -05:00
Nikhil Prasad f7fceb12fa Merge pull request #7 from nprasad2077/dev
Dev
2023-04-27 13:41:43 -05:00
Nikhil Prasad 13132473b1 Merge pull request #6 from nprasad2077/dev
Dev
2023-04-27 11:01:08 -05:00
Nikhil Prasad 45206c38bb Merge pull request #5 from nprasad2077/dev
Dev
2023-04-21 20:28:20 -05:00
Nikhil Prasad 9117807179 Merge pull request #4 from nprasad2077/dev
env changes
2023-04-20 16:18:54 -05:00
Nikhil Prasad 84f449b1e4 Merge pull request #3 from nprasad2077/dev
working on data verification
2023-04-18 21:47:53 -05:00
Nikhil Prasad 01604850ce Merge pull request #2 from nprasad2077/dev
Dev
2023-04-18 16:14:56 -05:00
Nikhil Prasad 00d8fdcf23 Merge pull request #1 from nprasad2077/dev
Dev
2023-04-14 00:15:58 -05:00
10 changed files with 50 additions and 35 deletions

No files matched your search

+15 -7
View File
@@ -6,24 +6,29 @@ This documentation provides the necessary information to use the NBA Stats API.
--- ---
# [View API Documentation](https://documenter.getpostman.com/view/24232555/2s93shzpR3)
---
### Base URL ### Base URL
All URLs referenced in this documentation use the following base URL: All URLs referenced in this documentation use the following base URL:
> https://nba-stats-db.herokuapp.com/ > <https://nba-stats-db.herokuapp.com/>
### Endpoints ### Endpoints
Top 20 Scorers by Season Top 20 Scorers by Season
Method: `Get` Method: `Get`
> https://nba-stats-db.herokuapp.com/api/playerdata/topscorers/total/season/2023/ > <https://nba-stats-db.herokuapp.com/api/playerdata/topscorers/total/season/2023/>
Success Response: Success Response:
`Code: 200` `Code: 200`
Content: Content:
``` ```
{ {
"count": 20, "count": 20,
@@ -103,13 +108,14 @@ Content:
Top 20 Scorers in Playoffs Top 20 Scorers in Playoffs
Method: `Get` Method: `Get`
> https://nba-stats-db.herokuapp.com/api/playerdata/topscorers/playoffs/2022/ > <https://nba-stats-db.herokuapp.com/api/playerdata/topscorers/playoffs/2022/>
Success Response: Success Response:
`Code: 200` `Code: 200`
Content: Content:
``` ```
{ {
"count": 20, "count": 20,
@@ -189,13 +195,14 @@ Content:
Top 20 Assists by Season Top 20 Assists by Season
Method: `Get` Method: `Get`
> https://nba-stats-db.herokuapp.com/api/top_assists/totals/2023/ > <https://nba-stats-db.herokuapp.com/api/top_assists/totals/2023/>
Success Response: Success Response:
`Code: 200` `Code: 200`
Content: Content:
``` ```
{ {
"count": 20, "count": 20,
@@ -275,14 +282,14 @@ Content:
Top 20 Assists in Playoffs Top 20 Assists in Playoffs
Method: `Get` Method: `Get`
> https://nba-stats-db.herokuapp.com/api/top_assists/playoffs/2022/ > <https://nba-stats-db.herokuapp.com/api/top_assists/playoffs/2022/>
Success Response: Success Response:
`Code: 200` `Code: 200`
Content: Content:
``` ```
{ {
"count": 20, "count": 20,
@@ -362,13 +369,14 @@ Content:
Top 20 Rebounders (Total Rebounds) by Season Top 20 Rebounders (Total Rebounds) by Season
Method: `Get` Method: `Get`
> https://nba-stats-db.herokuapp.com/api/top_rebounds/totals/2023/ > <https://nba-stats-db.herokuapp.com/api/top_rebounds/totals/2023/>
Success Response: Success Response:
`Code: 200` `Code: 200`
Content: Content:
``` ```
{ {
"count": 20, "count": 20,
+5
View File
@@ -0,0 +1,5 @@
# Activate Python Shell
```
source venv/bin/activate
```
+1
View File
@@ -0,0 +1 @@
teams_data = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOK', 'DAL', 'SAS', 'DEN', 'MIN', 'SEA', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA']
+4 -2
View File
@@ -6,6 +6,7 @@ from bs4 import BeautifulSoup
import csv import csv
import json import json
import time import time
from data import teams_data
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
@@ -27,10 +28,11 @@ from nba_data.models import PlayerAdvancedData
# Change MEM to VAN for 2001 and prior. # Change MEM to VAN for 2001 and prior.
# Change LAC to SDC for 1984 and prior. # Change LAC to SDC for 1984 and prior.
teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'DAL', 'SAS', 'DEN', 'MIN', 'OKC', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA'] teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'DAL', 'SAS', 'DEN', 'MIN', 'SEA', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA']
season = input('What season? ') season = input('What season? ')
for team in teams: for team in teams_data:
url_make = 'https://www.basketball-reference.com/teams/' + team + '/' + season + '.html' url_make = 'https://www.basketball-reference.com/teams/' + team + '/' + season + '.html'
response = requests.get(url_make) response = requests.get(url_make)
+4 -5
View File
@@ -6,6 +6,7 @@ from bs4 import BeautifulSoup
import csv import csv
import json import json
import time import time
from data import teams_data
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
@@ -29,13 +30,11 @@ from nba_data.models import PlayerPlayoffAdvancedData
teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'DAL', 'SAS', 'DEN', 'MIN', 'OKC', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA'] teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'DAL', 'SAS', 'DEN', 'MIN', 'OKC', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA']
teams2 = ['HOU' ,'PHI', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'SAS', 'DEN', 'MIN', 'OKC', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA']
team_abbreviations = ['ATL', 'BOS', 'BRK', 'CHI', 'CHO', 'CLE', 'DAL', 'DEN', 'DET', 'GSW', 'HOU', 'IND', 'LAC', 'LAL', 'MEM', 'MIA', 'MIL', 'MIN', 'NOP', 'NYK', 'OKC', 'ORL', 'PHI', 'PHO', 'POR', 'SAC', 'SAS', 'TOR', 'UTA', 'WAS']
season = input('What season? ') season = input('What season? ')
for team in teams: teams2 = 'PHI'
for team in teams2:
url_make = 'https://www.basketball-reference.com/teams/' + team + '/' + season + '.html' url_make = 'https://www.basketball-reference.com/teams/' + team + '/' + season + '.html'
response = requests.get(url_make) response = requests.get(url_make)
@@ -27,7 +27,7 @@ from nba_data.models import PlayerPlayoffAdvancedData
# Change LAC to SDC for 1984 and prior. # Change LAC to SDC for 1984 and prior.
teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'BRK', 'TOR', 'MEM', 'NOP', 'DAL', 'SAS', 'DEN', 'MIN', 'OKC', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA'] teams = ['ATL', 'BOS', 'BRK', 'CHI', 'CHO', 'CLE', 'DAL', 'DEN', 'DET', 'GSW', 'HOU', 'IND', 'LAC', 'LAL', 'MEM', 'MIA', 'MIL', 'MIN', 'NOP', 'NYK', 'OKC', 'ORL', 'PHI', 'PHO', 'POR', 'SAC', 'SAS', 'TOR', 'UTA', 'WAS']
single_team = ['GSW'] single_team = ['GSW']
+3 -5
View File
@@ -6,6 +6,7 @@ from bs4 import BeautifulSoup
import csv import csv
import json import json
import time import time
from data import teams_data
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
@@ -27,14 +28,11 @@ from nba_data.models import PlayerPlayoffTotalsData
# Change LAC to SDC for 1984 and prior. # Change LAC to SDC for 1984 and prior.
teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'DAL', 'SAS', 'DEN', 'MIN', 'OKC', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA'] teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'DAL', 'SAS', 'DEN', 'MIN', 'SEA', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA']
team_abbreviations = ['ATL', 'BOS', 'BRK', 'CHI', 'CHO', 'CLE', 'DAL', 'DEN', 'DET', 'GSW', 'HOU', 'IND', 'LAC', 'LAL', 'MEM', 'MIA', 'MIL', 'MIN', 'NOP', 'NYK', 'OKC', 'ORL', 'PHI', 'PHO', 'POR', 'SAC', 'SAS', 'TOR', 'UTA', 'WAS']
season = input('What season? ') season = input('What season? ')
for team in teams: for team in teams_data:
url_make = 'https://www.basketball-reference.com/teams/' + team + '/' + season + '.html' url_make = 'https://www.basketball-reference.com/teams/' + team + '/' + season + '.html'
response = requests.get(url_make) response = requests.get(url_make)
+6 -5
View File
@@ -12,10 +12,11 @@ django.setup()
from nba_data.models import PlayerShotChartData from nba_data.models import PlayerShotChartData
player_name = 'LeBron James' player_name = 'Damian Lillard'
season = 2014 season = 2013
# team = 'LAL' # You might want to find a way to get this from the webpage
url = 'https://www.basketball-reference.com/players/j/jamesle01/shooting/' + \ # Player name and season will be inserted into DB. Modify before running script.
url = 'https://www.basketball-reference.com/players/l/lillada01/shooting/' + \
str(season) str(season)
response = requests.get(url) response = requests.get(url)
@@ -110,4 +111,4 @@ try:
except Exception as e: except Exception as e:
print(f"Error inserting data into database: {e}") print(f"Error inserting data into database: {e}")
print('success') print(f"success {player_name} {season}")
+3 -2
View File
@@ -6,6 +6,7 @@ from bs4 import BeautifulSoup
import csv import csv
import json import json
import time import time
from data import teams_data
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
@@ -26,14 +27,14 @@ from nba_data.models import PlayerTotalsData
# Change MEM to VAN for 2001 and prior. # Change MEM to VAN for 2001 and prior.
# Change LAC to SDC for 1984 and prior. # Change LAC to SDC for 1984 and prior.
teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'DAL', 'SAS', 'DEN', 'MIN', 'OKC', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA'] teams = ['HOU' ,'PHI', 'BOS', 'NYK', 'NJN', 'TOR', 'MEM', 'NOH', 'DAL', 'SAS', 'DEN', 'MIN', 'SEA', 'UTA', 'POR', 'MIL', 'CLE', 'CHI', 'IND', 'DET', 'SAC', 'PHO', 'GSW', 'LAC', 'LAL', 'MIA', 'ATL', 'WAS', 'ORL', 'CHA']
# team = input('What team? ') # team = input('What team? ')
# OMIT above. Will now only ask for season and iterate thru teams list. # OMIT above. Will now only ask for season and iterate thru teams list.
season = input('What season? ') season = input('What season? ')
for team in teams: for team in teams_data:
url_make = 'https://www.basketball-reference.com/teams/' + team + '/' + season + '.html' url_make = 'https://www.basketball-reference.com/teams/' + team + '/' + season + '.html'
response = requests.get(url_make) response = requests.get(url_make)
+8 -8
View File
@@ -30,22 +30,22 @@ class PlayerDataByTeamList(generics.ListAPIView):
return PlayerData.objects.filter(team=team) return PlayerData.objects.filter(team=team)
# Fetch player data by season # Fetch player totals data by season
class PlayerDataBySeasonList(generics.ListAPIView): class PlayerDataBySeasonList(generics.ListAPIView):
serializer_class = PlayerDataSerializer serializer_class = PlayerTotalsDataSerializer
def get_queryset(self): def get_queryset(self):
season = self.kwargs['season'] season = self.kwargs['season']
return PlayerData.objects.filter(season=season) return PlayerTotalsData.objects.filter(season=season)
# Fetch player data by player name # Fetch player totals data by player name
class PlayerDataByNameList(generics.ListAPIView): class PlayerDataByNameList(generics.ListAPIView):
serializer_class = PlayerDataSerializer serializer_class = PlayerTotalsDataSerializer
def get_queryset(self): def get_queryset(self):
name = self.kwargs['name'] name = self.kwargs['name']
return PlayerData.objects.filter(name__icontains=name) return PlayerTotalsData.objects.filter(player_name__icontains=name)
# Fetch Top 20 players by PTS DESC for the season specified. # Fetch Top 20 players by PTS DESC for the season specified.
@@ -62,7 +62,7 @@ class TopScorersbySeasonTotalsList(generics.ListAPIView):
def get_queryset(self): def get_queryset(self):
season = self.kwargs['season'] season = self.kwargs['season']
return PlayerTotalsData.objects.filter(season=season).order_by('-PTS')[:20] return PlayerTotalsData.objects.filter(season=season).order_by('-PTS')[:200]
# Fetch and calculate the average 3P made, 3P attemps, 2P made, 2P attempts for all players in each season. # Fetch and calculate the average 3P made, 3P attemps, 2P made, 2P attempts for all players in each season.
@@ -631,7 +631,7 @@ class TopScorersbySeasonListPlayoffs(generics.ListAPIView):
def get_queryset(self): def get_queryset(self):
season = self.kwargs['season'] season = self.kwargs['season']
return PlayerPlayoffTotalsData.objects.filter(season=season).order_by('-PTS')[:20] return PlayerPlayoffTotalsData.objects.filter(season=season).order_by('-PTS')[:200]
class TopAssistsBySeasonListPlayoffs(generics.ListAPIView): class TopAssistsBySeasonListPlayoffs(generics.ListAPIView):