Extraire une information d'une variable python

Fermé
Alttaro - 24 déc. 2022 à 16:38
yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 - 24 déc. 2022 à 18:05

bonjour, j'utilise une api permettant de connaître les statistiques d'un joueur, mais je n'arrive pas à obtenir l'identifiant contenu dans la réponse

voici mon code: 

request=requests.get("https://api.henrikdev.xyz/valorant/v1/account/'le pseudo du jouer'/'son hashtag")

page_brut=request.content

print(page_brut)

soup = BeautifulSoup(page_brut, "html.parser")

print(soup)

voici la réponse à la request du site :

b'{"status":200,"data":{"puuid":"a984194f-3611-5b53-baec-b5b45e89b5f8","region":"eu","account_level":78,"name":"Alttaro","tag":"8265","card":{"small":"https://media.valorant-api.com/playercards/f4361ec4-4e77-48c1-fa4f-b99b03134f96/smallart.png","large":"https://media.valorant-api.com/playercards/f4361ec4-4e77-48c1-fa4f-b99b03134f96/largeart.png","wide":"https://media.valorant-api.com/playercards/f4361ec4-4e77-48c1-fa4f-b99b03134f96/wideart.png","id":"f4361ec4-4e77-48c1-fa4f-b99b03134f96"},"last_update":"34 minutes ago","last_update_raw":1671893894}}'

et la voici après le passage dans BeautifulSoup : 

{"status":200,"data":{"puuid":"a984194f-3611-5b53-baec-b5b45e89b5f8","region":"eu","account_level":78,"name":"Alttaro","tag":"8265","card":{"small":"https://media.valorant-api.com/playercards/f4361ec4-4e77-48c1-fa4f-b99b03134f96/smallart.png","large":"https://media.valorant-api.com/playercards/f4361ec4-4e77-48c1-fa4f-b99b03134f96/largeart.png","wide":"https://media.valorant-api.com/playercards/f4361ec4-4e77-48c1-fa4f-b99b03134f96/wideart.png","id":"f4361ec4-4e77-48c1-fa4f-b99b03134f96"},"last_update":"34 minutes ago","last_update_raw":1671893894}}

mon but est d'obtenir la valeur de l'id dans la variable texte ci-dessus alors que cette variable n'est pas un dictionnaire.

Merci d'avance pour votre aide :))

A voir également:

2 réponses

yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
24 déc. 2022 à 16:50

bonjour

merci de tenir compte de ceci quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

es-tu certain d'avoir partage ton code complet?  je me demande s'il ne manque pas l'un ou l'autre "import".

1
yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 1 556
24 déc. 2022 à 17:23

un exemple:

import requests
import bs4
request=requests.get("https://api.henrikdev.xyz/valorant/v1/account/'Alttaro'/'8265'")
page_brut=request.content
print(page_brut)
soup = bs4.BeautifulSoup(page_brut, "html.parser")
d=eval(soup.get_text())
id=d["data"]["card"]["id"]
print("id:",id)
0
Alttaro Messages postés 2 Date d'inscription samedi 24 décembre 2022 Statut Membre Dernière intervention 24 décembre 2022 1 > yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024
24 déc. 2022 à 17:29

c'est parfait vraiment merci :)) 

0
yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 1 556 > Alttaro Messages postés 2 Date d'inscription samedi 24 décembre 2022 Statut Membre Dernière intervention 24 décembre 2022
24 déc. 2022 à 18:05

peux-tu alors marquer la discussion comme résolue?

0
Alttaro Messages postés 2 Date d'inscription samedi 24 décembre 2022 Statut Membre Dernière intervention 24 décembre 2022 1
Modifié le 24 déc. 2022 à 17:07

oui pardon pour rectification voici mon code :

import valorant
import requests
from bs4 import BeautifulSoup

client = valorant.Client(KEY, locale="fr-FR")

request=requests.get("https://api.henrikdev.xyz/valorant/v1/account/Alttaro/8265")
page_brut=request.content
print(page_brut)
soup = BeautifulSoup(page_brut, "html.parser")
print(soup)

merci de m'avoir indiqué la façon d'insérer du code, j'aurais du me renseigner avant..

1