Bonjour à tous,
Avant tout je m'excuse si je ne suis pas sur la bonne partie du forum.
Je possède un wiki sur une marque de luxe, et pour l'alimenter j'ai besoin de récupérer un maximum d'images sur cette marque. Rien d'illégal car les images son toujours sur leurs serveurs, juste qu'il y a presque 650 millions de liens à checker.
Le lien principal est https://cdn.yoox.biz/41/ à cette adresse s'ajoute l'id de l'image qui est 41XXXXXXYY_14_f.jpg ou X est un chiffre de 0 à 9 et Y une lettre de A à Z. La logique des liens est donc :
https://cdn.yoox.biz/41/41000000AA_14_f.jpg
https://cdn.yoox.biz/41/41000000AB_14_f.jpg
https://cdn.yoox.biz/41/41000000AC_14_f.jpg
...
https://cdn.yoox.biz/41/41000000ZZ_14_f.jpg
https://cdn.yoox.biz/41/41000001AA_14_f.jpg
https://cdn.yoox.biz/41/41000001AB_14_f.jpg
et ainsi de suite jusqu'à 41999999ZZ_14_f.jpg
Soit donc la bagatelle de presque 650 millions de liens. Tous les liens ne contiennent pas d'image. Il me faudrait donc un script qui checkerai donc chacun des lien et en enregistrant l'image dans un dossier (ou dans un doc texte peu importe) quand il y en a une.
Avant de demander de l'aide, j'ai essayé de me dépatouiller avec le fameux ChatGPT, mais ce dernier ne comprends pas la logique malgré toutes mes explications (c'est d'ailleurs lui qui m'a dit qu'il fallait faire avec Python 3, étant un noob en la matière j'aurais pas deviné tout seul ^^). Voici le script le plus approchant que j'ai pu obtenir :
C'est le plus approchant mais ça check de 10 en 10. Pour info je me sers de Pydroid 3 sur mon téléphone android.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import requests import os url_base = 'https://cdn.yoox.biz/41/' for i in range(65, 91): for j in range(65, 91): for k in range(41000000, 42000000): url = url_base + str(k) + chr(i) + chr(j) + '_14_f.jpg' response = requests.head(url) if response.status_code == 200: r = requests.get(url) filename = url.split('/')[-1] path = os.path.join('pictures', filename) with open(path, 'wb') as f: f.write(r.content) print(f"{filename} saved successfully!") else: print(f"{url} not found.")
Si quelqu'un pouvait passer par là pour me corriger le code ça serait formidable.
Un gros merci pour votre aide
nono
Partager