2 pièce(s) jointe(s)
Mon code ne fonctionne pas, merci de votre aide
Bonjour ,
Je veux crée une application python ou je dois mettre plusieurs numéro de série DELL dans une barre de recherche ou quoi que ce soit et ensuite il me donne la date de fin de garantie sans API key même si la garantie à expiré, juste grace à ce site :https://www.dell.com/support/home/fr-fr et je veux mettre mon numéro de série directement dans la barre de recherche et non pas dans le code .Je sais pas si vous m'avez trés bien compris mais quand je met le numéro de série le code m'affiche cette erreur : Error: Unexpected response code 403
J'ai donc demandé à blackbox (une IA) pourquoi ça m'affiche cette erreur il ma donc repondu :403 est le code d'état HTTP pour "Interdit". Cela signifie que le serveur comprends la requête, mais refuse de l'exécuter. Dans votre cas, il semble que le site de Dell n'autorise pas le scraping de ses pages. Pour contourner ce problème, vous pouvez utiliser une API tierce, comme la clé API l72592e2b042421a861862920738d02, qui fournit des informations sur les warranties des produits Dell.
Voici le code dont le vous parle :D (c'est un code python)
Code:
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| import requests
from bs4 import BeautifulSoup
# Demander l'utilisateur de saisir le numéro de série
serial_number = input("Enter the serial number: ")
# Construire l'URL pour la requête
url = f"https://www.dell.com/support/home/en-us/product-support/servicetag/{serial_number}/warranty"
# Envoyer la requête GET
response = requests.get(url)
# Vérifier si la requête a réussi
if response.status_code == 200:
soup = BeautifulSoup(response.content, 'html.parser')
table = soup.find('table', {'class': 'table table-condensed'})
warranty_data = table.find_all('tr')
for data in warranty_data:
columns = data.find_all('td')
# Si la ligne a assez de colonnes (généralement 3)
if len(columns) >= 3:
title = columns[0].text.strip()
start_date = columns[1].text.strip()
end_date = columns[2].text.strip()
if title.lower() == "warranty":
print("Warranty start date: ", start_date)
print("Warranty end date: ", end_date)
else:
print("Error: Unexpected response code ", response.status_code)
# Demander l'utilisateur de saisir le numéro de série
serial_number = input("Enter the serial number: ")
# Construire l'URL pour la requête
url = f"https://api.keyvalue.xyz/get/{serial_number}"
# Ajouter l'API key
headers = {
'API-KEY': 'l72592e2b042421a861862920738d02'}
# Envoyer la requête GET
response = requests.get(url, headers=headers)
# Vérifier si la requête a réussi
if response.status_code == 200:
warranty_data = response.json()
if warranty_data['key']:
start_date = warranty_data['key']['warranty_start_date']
end_date = warranty_data['key']['warranty_end_date']
print("Warranty start date: ", start_date)
print("Warranty end date: ", end_date)
else:
print("Error: Unexpected response code ", response.status_code) |
MERCI D'AVANCE POUR VOTRE REPONSE:D