Using NBA Team Stats through Google Chrome\'s network tool, I believe I located the site to lead me to the raw JSON data
As a result, I am using the following U
After much digging, research, and trial & error, I was finally able to come up with a Python script (within Power BI) that would give me exactly what I needed.
import pandas as pd
import numpy
import requests
import json
headers = {'Accept': 'application/json, text/plain, */*','Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9','Connection': 'keep-alive','Host': 'stats.nba.com',
'Referer': 'https://stats.nba.com/','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-origin',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/79.0.3945.130 Safari/537.36','x-nba-stats-origin': 'stats','x-nba-stats-token':
'true',}
url = 'https://stats.nba.com/stats/leaguedashplayerstats?College=&Conference=&Country=&DateFrom=&
Division=&DraftPick=&DraftYear=&GameScope=&GameSegment=&Height=&LastNGames=0&LeagueID=00&
Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&
PerMode=PerGame&Period=0&PlayerExperience=&PlayerPosition=&PlusMinus=N&Rank=N&Season=2019-20&
SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&TwoWay=0&
VsConference=&VsDivision=&Weight='
json = requests.get(url, headers=headers).json()
data = json['resultSets'][0]['rowSet']
columns = json['resultSets'][0]['headers']
PpgData = pd.DataFrame.from_records(data, columns=columns)
Using this script allows me to convert all the JSON data to a table that will be properly formatted.
That specific page seems to require a Referer header to be sent with the request so just loading it on it's own won't work.
In Power BI you can set custom headers if you select Advanced when adding a Web data source. In the optional Header section enter Referer
and a value of https://stats.nba.com/
.