Bonjour tout le monde,
Mon problème est que je dois télécharger des photos (dans leur taille originelle) sur un site d'album en masse et qui switcherait de page après avoir téléchargé l'image ( ce site http://emilia-clarke.net/gallery/thumbnails.php?album=397)
Le but serait que j'ai un programme, script etc qui soit capable de télécharger les dites image de manière fiable et automatique quand je suis placé dans l'album.
D'un point de vue technique je ne PENSE pas que ça soit difficilement réalisable.
Sauf que là petit bémol : je ne sais quasiment pas programmer
J'ai fait un peu de python (les bases des bases) mais n'ayant aucun but précis ca ne m'a pas vraiment branché.
Donc j'aurai voulu savoir si vous connaitiriez des petits scripts, outils "programmables" qui pourraient m'aider dans ma requête ?
Et à la limite, en dernier recours, quelles seraient les librairies Python les plus adaptées à mon cas ?
Merci d'avance
J'ai fait un programme Python du genre pour télécharger des scans de mangas disponibles uniquement en lecture en ligne.
Toute la difficulté se résume à ta capacité à trouver l'url direct de l'image et être capable de faire la liste de l'url de toutes les images que tu veux télécharger.
Sur ton site ça n'a pas l'air d'être bien compliqué.
Les images semblent suivre le pattern :
http://emilia-clarke.net/gallery/albums/Appearances/2015/06-24/outside/0624_siriusxm_outside_0001.JPG
je n'ai pas bien investigué mais globalement la seule chose amenée à varier d'une image à l'autre semble être le numéro de la photo XXXX.JPG
. A toi de trouver le nombre d'images qu'il y a.
Une fois que t'as la liste des URLs, un coup de urlretrieve()
de la lib urllib2
(me semble t-il) et c'est tout cuit
Renseigne toi sur le webscraping en python. C'est pas très difficile ;)
A première vue pour un novice ayant fait des très peu de programmation vous pensez que c'est accessible ?
Oui, c'est même très formateur je pense
D'accord merci de votre aide, j'essaierai de m'y intéresser un peu plus dès que j'aurai le temps
Salut me revoilà Bon ayant les bases de la prog' en python j'ai fait ça à la va vite avec ce que j'ai trouvé sur google
Donc voici le code :
from urllib.request import urlretrieve
import os
number = 1
url = "http://emilia-clarke.net/gallery/albums/Appearances/2016/05%2025%20Me%20Before%20You%20Premiere%20in%20London/0525_MBYLondonPremiere_000"
while (number < 153):
new_filename = str(number) + ".jpg"
if(os.path.isfile(str(number)+".jpg") == False and os.path.isfile(str(number)+".JPG") == False):
try:
urlretrieve(url+str(number)+".JPG", new_filename)
except:
urlretrieve(url+str(number)+".jpg", new_filename)
print("image number " + str(number) + " was downloaded")
else:
print("image number " + str(number) + " is already downloaded")
if(number == 9):
url = url[:-1]
elif(number == 99):
url = url[:-1]
elif(number == 999):
url = url[:-1]
number = number + 1
print ("All images downloaded")
Sur pastebin : https://pastebin.com/HmRSzzPn
Je sais pertinnement qu'il peut être améliorer mais je ne sais pas trop où, si vous avez des idées dites le moi
Ce qui me gêne c'est surtout au niveau de l'URL si par exemple elle n'a pas besoin d'être modifié car pas de zéro à enlever, je crois que c'est tout
Merci de m'avoir aidé en tout cas
Et aussi quand je suis arrivé à la ligne 443 j'ai eu ce code d'erreur :
Traceback (most recent call last):
File "C:\Users\Congres\Desktop\download_system\download.py", line 14, in <module>
urlretrieve(url+str(number)+".JPG", new_filename)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 248, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 532, in open
response = meth(req, response)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 570, in error
return self._call_chain(*args)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Congres\Desktop\download_system\download.py", line 16, in <module>
urlretrieve(url+str(number)+".jpg", new_filename)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 248, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 526, in open
response = self._open(req, data)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 544, in _open
'_open', req)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 1346, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 1321, in do_open
r = h.getresponse()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1331, in getresponse
response.begin()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 297, in begin
version, status, reason = self._read_status()
File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "C:\Program Files (x86)\Python36-32\lib\socket.py", line 586, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] Une connexion existante a dû être fermée par l’hôte distant
Et après reflexion il faudrait que je trouve un moyen de verifier si l'image a été correctement téléchargée
Vu les questions que tu te poses, il est temps de commencer à factoriser un peu tout ça en fonction déjà ce sera plus facile pour toi de l'adapter et pour nous plus facile de t'aider.
Pour les 0 et ton url, je te conseille de prendre le problème dans l'autre sens : Plutôt que de prendre le cas de figure ou il y a plus de 0 et en enlever je te conseille de construire le nombre en utilisant la fonction zfill()
Un exemple très simple pour illustrer son utilité:
'1'.zfill(5) -> '00001'
'12'.zfill(5) -> '00012'
'453'.zfill(5) -> '00453'
Concernant ton erreur il semblerait que la requête n'aboutisse pas pour un url donné, je peux pas t'en dire plus, à toi de foutre des print partout pour voir quel url casse tout
Le 18 mai 2017 à 20:24:39 MrGreez94 a écrit :
Vu les questions que tu te poses, il est temps de commencer à factoriser un peu tout ça en fonction déjà ce sera plus facile pour toi de l'adapter et pour nous plus facile de t'aider.
Comment ça ?
Pour les 0 et ton url, je te conseille de prendre le problème dans l'autre sens : Plutôt que de prendre le cas de figure ou il y a plus de 0 et en enlever je te conseille de construire le nombre en utilisant la fonction
zfill()
Un exemple très simple pour illustrer son utilité:
'1'.zfill(5) -> '00001' '12'.zfill(5) -> '00012' '453'.zfill(5) -> '00453'
Merci beaucoup, c'est pas bête du tout
Concernant ton erreur il semblerait que la requête n'aboutisse pas pour un url donné, je peux pas t'en dire plus, à toi de foutre des print partout pour voir quel url casse tout
Par rapport à ça après reflexion je pense que ca vient du serveur qui me bloque la connexion car des fois ca intervient à la page 50 et d'autres fois à la page 158 par exemple. Du coup pour "contourner" ce problème j'ai utilisé un try et except pour réessayer de télécharger l'image si ca n'a pas fonctionné
Le 18 mai 2017 à 20:30:29 Exacompta a écrit :
Le 18 mai 2017 à 20:24:39 MrGreez94 a écrit :
Vu les questions que tu te poses, il est temps de commencer à factoriser un peu tout ça en fonction déjà ce sera plus facile pour toi de l'adapter et pour nous plus facile de t'aider.Comment ça ?
Pour les 0 et ton url, je te conseille de prendre le problème dans l'autre sens : Plutôt que de prendre le cas de figure ou il y a plus de 0 et en enlever je te conseille de construire le nombre en utilisant la fonction
zfill()
Un exemple très simple pour illustrer son utilité:
'1'.zfill(5) -> '00001' '12'.zfill(5) -> '00012' '453'.zfill(5) -> '00453'
Merci beaucoup, c'est pas bête du tout
Concernant ton erreur il semblerait que la requête n'aboutisse pas pour un url donné, je peux pas t'en dire plus, à toi de foutre des print partout pour voir quel url casse tout
Par rapport à ça après reflexion je pense que ca vient du serveur qui me bloque la connexion car des fois ca intervient à la page 50 et d'autres fois à la page 158 par exemple. Du coup pour "contourner" ce problème j'ai utilisé un try et except pour réessayer de télécharger l'image si ca n'a pas fonctionné
Etant donné que ton objectif c'est de monter en compétences (si j'ai bien compris), un programme bien fait est un programme lisible par quelqu'un qui n'a aucune idée de ce que tu cherches à faire.
Concrètement ton programme ne devrait être que des appels de fonctions avec un nom explicite, correspondant chacune à une et unique tâche.
La dans ton programme tu sens bien qu'il y a plein de chose qui sont faites, notamment:
- la génération du nom de l'image
- la génération de l'url associé à une image
- la vérification si l'image existe ou pas
- le téléchargement de l'image
Dans l'idée ton programme devrait s'approcher d'un truc comme ça
Pour i allant de 1 à 153:
Je génère le nom de l'image
Si l'image n'existe pas encore:
je génère l'url associé à l'image
je télécharge l'image
Avec pour chaque ligne (à quelques détails près) une fonction qui fait le taff
EDIT: Par pitié, quand tu connais la borne supérieure de ta boucle, utilise un for
Le 18 mai 2017 à 10:41:49 Exacompta a écrit :
Et aussi quand je suis arrivé à la ligne 443 j'ai eu ce code d'erreur :Traceback (most recent call last): File "C:\Users\Congres\Desktop\download_system\download.py", line 14, in <module> urlretrieve(url+str(number)+".JPG", new_filename) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 248, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 223, in urlopen return opener.open(url, data, timeout) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 532, in open response = meth(req, response) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 642, in http_response 'http', request, response, code, msg, hdrs) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 570, in error return self._call_chain(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 504, in _call_chain result = func(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 650, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\Congres\Desktop\download_system\download.py", line 16, in <module> urlretrieve(url+str(number)+".jpg", new_filename) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 248, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 223, in urlopen return opener.open(url, data, timeout) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 526, in open response = self._open(req, data) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 544, in _open '_open', req) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 504, in _call_chain result = func(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 1346, in http_open return self.do_open(http.client.HTTPConnection, req) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 1321, in do_open r = h.getresponse() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1331, in getresponse response.begin() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 297, in begin version, status, reason = self._read_status() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 258, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "C:\Program Files (x86)\Python36-32\lib\socket.py", line 586, in readinto return self._sock.recv_into(b) ConnectionResetError: [WinError 10054] Une connexion existante a dû être fermée par l’hôte distant
Et après reflexion il faudrait que je trouve un moyen de verifier si l'image a été correctement téléchargée
Vu l'erreur, je conseillerais "HTTrack" (un asiprateur gratuit)
Tu règle pour ne pomper que les images (.jpg; .bmp;...ext)
Note: A utiliser avec parcimonie et modération (connexions par seconde)
Le 18 mai 2017 à 20:44:34 MrGreez94 a écrit :
Le 18 mai 2017 à 20:30:29 Exacompta a écrit :
Le 18 mai 2017 à 20:24:39 MrGreez94 a écrit :
Vu les questions que tu te poses, il est temps de commencer à factoriser un peu tout ça en fonction déjà ce sera plus facile pour toi de l'adapter et pour nous plus facile de t'aider.Comment ça ?
Pour les 0 et ton url, je te conseille de prendre le problème dans l'autre sens : Plutôt que de prendre le cas de figure ou il y a plus de 0 et en enlever je te conseille de construire le nombre en utilisant la fonction
zfill()
Un exemple très simple pour illustrer son utilité:
'1'.zfill(5) -> '00001' '12'.zfill(5) -> '00012' '453'.zfill(5) -> '00453'
Merci beaucoup, c'est pas bête du tout
Concernant ton erreur il semblerait que la requête n'aboutisse pas pour un url donné, je peux pas t'en dire plus, à toi de foutre des print partout pour voir quel url casse tout
Par rapport à ça après reflexion je pense que ca vient du serveur qui me bloque la connexion car des fois ca intervient à la page 50 et d'autres fois à la page 158 par exemple. Du coup pour "contourner" ce problème j'ai utilisé un try et except pour réessayer de télécharger l'image si ca n'a pas fonctionné
Etant donné que ton objectif c'est de monter en compétences (si j'ai bien compris), un programme bien fait est un programme lisible par quelqu'un qui n'a aucune idée de ce que tu cherches à faire.
Concrètement ton programme ne devrait être que des appels de fonctions avec un nom explicite, correspondant chacune à une et unique tâche.
La dans ton programme tu sens bien qu'il y a plein de chose qui sont faites, notamment:
- la génération du nom de l'image
- la génération de l'url associé à une image
- la vérification si l'image existe ou pas
- le téléchargement de l'imageDans l'idée ton programme devrait s'approcher d'un truc comme ça
Pour i allant de 1 à 153: Je génère le nom de l'image Si l'image n'existe pas encore: je génère l'url associé à l'image je télécharge l'image
Avec pour chaque ligne (à quelques détails près) une fonction qui fait le taff
EDIT: Par pitié, quand tu connais la borne supérieure de ta boucle, utilise un
for
J'ai pas trop compris comment utiliser le For à vrai dire En C++ j'y ai touché mais c'est tout
Et pour l'histoire de fonction à chaque ligne c'est pas un peu abusé ? J'suis nouveau donc je sais pas mais ca me semble abusé
Ah et aussi la plupart des informations que je recupère, ma méthode de recup' est pas moisie' ?
Le 18 mai 2017 à 21:25:15 ouimaisquoi a écrit :
Le 18 mai 2017 à 10:41:49 Exacompta a écrit :
Et aussi quand je suis arrivé à la ligne 443 j'ai eu ce code d'erreur :Traceback (most recent call last): File "C:\Users\Congres\Desktop\download_system\download.py", line 14, in <module> urlretrieve(url+str(number)+".JPG", new_filename) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 248, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 223, in urlopen return opener.open(url, data, timeout) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 532, in open response = meth(req, response) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 642, in http_response 'http', request, response, code, msg, hdrs) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 570, in error return self._call_chain(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 504, in _call_chain result = func(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 650, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\Congres\Desktop\download_system\download.py", line 16, in <module> urlretrieve(url+str(number)+".jpg", new_filename) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 248, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 223, in urlopen return opener.open(url, data, timeout) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 526, in open response = self._open(req, data) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 544, in _open '_open', req) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 504, in _call_chain result = func(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 1346, in http_open return self.do_open(http.client.HTTPConnection, req) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 1321, in do_open r = h.getresponse() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1331, in getresponse response.begin() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 297, in begin version, status, reason = self._read_status() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 258, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "C:\Program Files (x86)\Python36-32\lib\socket.py", line 586, in readinto return self._sock.recv_into(b) ConnectionResetError: [WinError 10054] Une connexion existante a dû être fermée par l’hôte distant
Et après reflexion il faudrait que je trouve un moyen de verifier si l'image a été correctement téléchargée
Vu l'erreur, je conseillerais "HTTrack" (un asiprateur gratuit)
Tu règle pour ne pomper que les images (.jpg; .bmp;...ext)
Note: A utiliser avec parcimonie et modération (connexions par seconde)
Je connais pas, je pourrai me renseigner dessus Mais je pense que ca vient du fait que je sollicite trop le site hein Et pour le pompage des images j'ai pas vraiment besoin de fonctionner comme ça étant donné que j'ai juste à incrémenter une variable pour les photos
Le 18 mai 2017 à 21:35:32 Exacompta a écrit :
Le 18 mai 2017 à 20:44:34 MrGreez94 a écrit :
Le 18 mai 2017 à 20:30:29 Exacompta a écrit :
Le 18 mai 2017 à 20:24:39 MrGreez94 a écrit :
Vu les questions que tu te poses, il est temps de commencer à factoriser un peu tout ça en fonction déjà ce sera plus facile pour toi de l'adapter et pour nous plus facile de t'aider.Comment ça ?
Pour les 0 et ton url, je te conseille de prendre le problème dans l'autre sens : Plutôt que de prendre le cas de figure ou il y a plus de 0 et en enlever je te conseille de construire le nombre en utilisant la fonction
zfill()
Un exemple très simple pour illustrer son utilité:
'1'.zfill(5) -> '00001' '12'.zfill(5) -> '00012' '453'.zfill(5) -> '00453'
Merci beaucoup, c'est pas bête du tout
Concernant ton erreur il semblerait que la requête n'aboutisse pas pour un url donné, je peux pas t'en dire plus, à toi de foutre des print partout pour voir quel url casse tout
Par rapport à ça après reflexion je pense que ca vient du serveur qui me bloque la connexion car des fois ca intervient à la page 50 et d'autres fois à la page 158 par exemple. Du coup pour "contourner" ce problème j'ai utilisé un try et except pour réessayer de télécharger l'image si ca n'a pas fonctionné
Etant donné que ton objectif c'est de monter en compétences (si j'ai bien compris), un programme bien fait est un programme lisible par quelqu'un qui n'a aucune idée de ce que tu cherches à faire.
Concrètement ton programme ne devrait être que des appels de fonctions avec un nom explicite, correspondant chacune à une et unique tâche.
La dans ton programme tu sens bien qu'il y a plein de chose qui sont faites, notamment:
- la génération du nom de l'image
- la génération de l'url associé à une image
- la vérification si l'image existe ou pas
- le téléchargement de l'imageDans l'idée ton programme devrait s'approcher d'un truc comme ça
Pour i allant de 1 à 153: Je génère le nom de l'image Si l'image n'existe pas encore: je génère l'url associé à l'image je télécharge l'image
Avec pour chaque ligne (à quelques détails près) une fonction qui fait le taff
EDIT: Par pitié, quand tu connais la borne supérieure de ta boucle, utilise un
for
J'ai pas trop compris comment utiliser le For à vrai dire En C++ j'y ai touché mais c'est tout
Et pour l'histoire de fonction à chaque ligne c'est pas un peu abusé ? J'suis nouveau donc je sais pas mais ca me semble abusé
Ah et aussi la plupart des informations que je recupère, ma méthode de recup' est pas moisie' ?Le 18 mai 2017 à 21:25:15 ouimaisquoi a écrit :
Le 18 mai 2017 à 10:41:49 Exacompta a écrit :
Et aussi quand je suis arrivé à la ligne 443 j'ai eu ce code d'erreur :Traceback (most recent call last): File "C:\Users\Congres\Desktop\download_system\download.py", line 14, in <module> urlretrieve(url+str(number)+".JPG", new_filename) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 248, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 223, in urlopen return opener.open(url, data, timeout) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 532, in open response = meth(req, response) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 642, in http_response 'http', request, response, code, msg, hdrs) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 570, in error return self._call_chain(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 504, in _call_chain result = func(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 650, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\Congres\Desktop\download_system\download.py", line 16, in <module> urlretrieve(url+str(number)+".jpg", new_filename) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 248, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 223, in urlopen return opener.open(url, data, timeout) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 526, in open response = self._open(req, data) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 544, in _open '_open', req) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 504, in _call_chain result = func(*args) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 1346, in http_open return self.do_open(http.client.HTTPConnection, req) File "C:\Program Files (x86)\Python36-32\lib\urllib\request.py", line 1321, in do_open r = h.getresponse() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 1331, in getresponse response.begin() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 297, in begin version, status, reason = self._read_status() File "C:\Program Files (x86)\Python36-32\lib\http\client.py", line 258, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "C:\Program Files (x86)\Python36-32\lib\socket.py", line 586, in readinto return self._sock.recv_into(b) ConnectionResetError: [WinError 10054] Une connexion existante a dû être fermée par l’hôte distant
Et après reflexion il faudrait que je trouve un moyen de verifier si l'image a été correctement téléchargée
Vu l'erreur, je conseillerais "HTTrack" (un asiprateur gratuit)
Tu règle pour ne pomper que les images (.jpg; .bmp;...ext)
Note: A utiliser avec parcimonie et modération (connexions par seconde)Je connais pas, je pourrai me renseigner dessus Mais je pense que ca vient du fait que je sollicite trop le site hein Et pour le pompage des images j'ai pas vraiment besoin de fonctionner comme ça étant donné que j'ai juste à incrémenter une variable pour les photos
Le for
c'est la traduction de la ligne
Pour i allant de 1 à 153
La ou avec le while tu dois écrire
i=1
while i < 153:
i = i + 1
print(i)
Avec le for ça donne
for i in range(1,153):
print(i)
en gros ce que ça fait c'est que range(1,153)
ou range(153)
génère une liste de nombre allant de 1 à 152range(1,153) = [1, 2, 3, 4, 5, 6, 7, 8, ..., 150, 151, 152]
Et i va prendre la valeur de chacun des éléments de la liste.
Pour l'histoire des fonctions c'est comme tu veux, c'était juste une idée si tu voulais approfondir un peu
Bha ca me gêne mais pour en revenir au transfert des informations c'est correct d'utiliser les get et autre ? alors que cette fonction n'est pas vraiment lié avec l'interface graphique ?
Et bien sûr j'essaie de vraiment comprendre le For dès demain
Le 18 mai 2017 à 22:05:41 Exacompta a écrit :
Bha ca me gêne mais pour en revenir au transfert des informations c'est correct d'utiliser les get et autre ? alors que cette fonction n'est pas vraiment lié avec l'interface graphique ?
Qu'entends tu pars là, j'ai pas compris
Le 18 mai 2017 à 22:08:05 Exacompta a écrit :
Et bien sûr j'essaie de vraiment comprendre le For dès demain
Bha j'utilise les get inclus dans tkinter directement dans cette fonction qui permet de download les images, y'a pas un autre moyen plus correct de les transmettre ? Si tu comprends pas je pourrai pas faire mieux j'ai pas nécessairement le vocabulaire adapté
Le 18 mai 2017 à 22:13:15 Exacompta a écrit :
Bha j'utilise les get inclus dans tkinter directement dans cette fonction qui permet de download les images, y'a pas un autre moyen plus correct de les transmettre ? Si tu comprends pas je pourrai pas faire mieux j'ai pas nécessairement le vocabulaire adapté
Ce que je comprends pas c'est que je vois 0 tkinter dans ton code
Le 18 mai 2017 à 22:18:30 MrGreez94 a écrit :
Le 18 mai 2017 à 22:13:15 Exacompta a écrit :
Bha j'utilise les get inclus dans tkinter directement dans cette fonction qui permet de download les images, y'a pas un autre moyen plus correct de les transmettre ? Si tu comprends pas je pourrai pas faire mieux j'ai pas nécessairement le vocabulaire adaptéCe que je comprends pas c'est que je vois 0 tkinter dans ton code
Ah normal comme j'ai dit dans mon premier post il n'y a pas la partie graphique
Voici le code tout entier et modifié sur Pastebin si ca t'intéresse https://pastebin.com/Qmu7mA27