recherche

Maison  >  Questions et réponses  >  le corps du texte

python - Vous avez rencontré un problème lors de l'exploration des images urllib.request.urlretrieve qui n'a pas pu être téléchargée dans le dossier spécifié ?

Il n'y a pas de problème si vous téléchargez sur le lecteur D, mais il y a un problème si vous téléchargez dans le répertoire que j'ai créé (principalement parce que je souhaite créer un répertoire sur le lecteur D nommé avec le numéro devant le point d'interrogation dans l'URL, telle que (http://v.yupoo) .com/photos/196...') ne fonctionnera tout simplement pas, car il existe de nombreux liens et le numéro de chaque lien que je souhaite utiliser. ce numéro comme nom du dossier pour stocker les images téléchargées depuis ce lien)
Le code source est le suivant :
import urllib.request
import re
import os

py récupère les images de la page et les enregistre localement

Obtenir des informations sur la page

url_all =['http://v.yupoo.com/photos/196...',
'http://v.yupoo.com/photos/196...',
'http://v .yupoo.com/photos/196...',
'http://v.yupoo.com/photos/196...',]

def getHtml(url):

html = urllib.request.urlopen(url).read()
return html

Obtenez des images via des expressions régulières

def getImg(html):

reg = 'src="(.+?\.jpg)"'
imgre = re.compile(reg)
imglist = re.findall(imgre,html)

# imprimer(imglist)

return imglist

pour moi à portée(len(url_all)):

Boucle pour enregistrer des images localement

html = getHtml(url_all[i])
list=getImg(html.decode())

imprimer (url_all[1])

x = 0
for imgurl in list:
    print(x)
    filename = os.path.dirname(url_all[i])    
    filename2 = os.path.basename(filename)

os.mkdir('d:%s'% filename2)

    local='D:\%s\%s.jpg' %(filename2,x)
    print (local)
    urllib.request.urlretrieve(imgurl,local)
    x+=1

imprimer("fait")

Erreur d'exécution : (système win10 64 bits, python3.6)

Fichier "C:Python36liburlllibrequest.py", ligne 258, dans urlretrieve

tfp = open(nom de fichier, 'wb')

FileNotFoundError : [Errno 2] Aucun fichier ou répertoire de ce type : 'd:46975340

Après le test

La dernière phrase écrite ainsi peut être affichée : urllib.request.urlretrieve(imgurl,'d:%s.jpg'% str(i*10+x))

Après le test, il n'y a aucun problème avec les deux premières phrases. Ajoutez la troisième phrase :

local='d:%s%s.jpg' %(filename2,x)

imprimé (local)

urllib.request.urlretrieve(imgurl,local)

Le message d'erreur est le suivant : (Idem que ci-dessus)

Fichier "C:Python36liburlllibrequest.py", ligne 258, dans urlretrieve

tfp = open(nom de fichier, 'wb')

FileNotFoundError : [Errno 2] Aucun fichier ou répertoire de ce type : 'd:46975340

S'il vous plaît, dites-moi, y a-t-il un problème avec ce chemin ? Comment faut-il l'écrire.

给我你的怀抱给我你的怀抱2774 Il y a quelques jours1987

répondre à tous(1)je répondrai

  • 淡淡烟草味

    淡淡烟草味2017-05-18 10:56:50

    Avant de sauvegarder, vérifiez si le répertoire existe, et créez-le s'il n'existe pas

    if not os.path.exists(file_path):
        os.mkdir(file_path)

    répondre
    0
  • Annulerrépondre