Skip to content

Commit c4cc656

Browse files
authored
Try/except backup when API is dead
1 parent eeb949c commit c4cc656

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

content/NLP/index.qmd

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -379,17 +379,33 @@ import requests
379379
import pandas as pd
380380
381381
activite = "data scientist"
382-
urlApe = f"https://codification-ape-test.lab.sspcloud.fr/predict?nb_echos_max=3&prob_min=0&text_feature=${activite}"
383-
import requests
384-
data = requests.get(urlApe).json()
382+
urlApe = (
383+
"https://codification-ape-test.lab.sspcloud.fr/"
384+
f"predict?nb_echos_max=3&prob_min=0&text_feature={activite}"
385+
)
386+
387+
try:
388+
# requête
389+
resp = requests.get(urlApe, timeout=10)
390+
resp.raise_for_status() # lève une erreur si code HTTP != 200
391+
data = resp.json()
392+
393+
# récupération de IC
394+
IC = data.pop("IC", None)
395+
396+
# transformation en DataFrame
397+
df = pd.DataFrame(data.values())
398+
df["indice_confiance"] = IC
399+
400+
print(df)
385401
386-
# Extract 'IC' value
387-
IC = data['IC']
388-
data.pop('IC', None)
402+
except requests.exceptions.RequestException as e:
403+
print("Erreur lors de l'appel API :", e)
404+
df = pd.DataFrame() # DataFrame vide en cas d'échec
389405
390-
df = pd.DataFrame(data.values())
391-
df['indice_confiance'] = IC
392-
df
406+
except (ValueError, KeyError) as e:
407+
print("Erreur lors du parsing des données :", e)
408+
df = pd.DataFrame()
393409
```
394410

395411
:::

0 commit comments

Comments
 (0)