1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| def get_request(url_request):
url='*****' + url_request
b64str = base64.b64encode("{}:{}".format(username,password).encode('utf-8'))
headers = {'Content-length' : '0',
'Content-type' : 'application/json',
'Authorization' : "Basic " + b64str.decode('utf-8')
}
req = ulib.Request(url, headers=headers)
responseData = ulib.urlopen(req).read()
response = json.loads(responseData.decode('utf-8'))
return response
# Je viens me connecter à une base SQL SERVER
conn = pyodbc.connect('Driver={SQL Server};'
'Server=*****;'
'Database=*****;'
'Trusted_Connection=yes;')
cursor = conn.cursor()
# Je viens récupérer les clés primaires de chaque sport et chaque ligue qui vont me permettent ensuite de remonter les informations sur les rencontres. Ces informations vont être copiées dans l'URL de l'API.
query = 'SELECT sportId, leagueId FROM LEAGUES'
df = pd.read_sql(query, conn)
# Suppression des lignes de la table EVENTS avant insertion. Cette table contiendra les informations sur les rencontres
=> Champs : eventId (PK), homeTeam, awayTeam, eventDate, leagueId (PK vers LEAGUES)
cursor.execute('TRUNCATE TABLE EVENTS')
for index, row in df.iterrows() :
events={}
for i in get_request('/v1/fixtures?sportid='+str(row['sportId'])+'&leagueids='+str(row['leagueId']))['league'] :
events['tmp']=i['events']
events_final=pd.DataFrame(events['tmp'])
for index2, row2 in events_final.iterrows() :
request='INSERT INTO EVENTS_PINN(eventId, homeTeam, awayTeam, eventDate, leagueId) VALUES
('+str(row2['id'])+",'"+row2['home']+"','"+row2['away']+"','"+row2['starts']+"',"+str(row['leagueId'])+')'
cursor.execute(request)
conn.commit()
conn.close() |
Partager