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é ?
给我你的怀抱
给我你的怀抱 2017-05-18 10:54:50
0
1
1954

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.

给我你的怀抱
给我你的怀抱

répondre à tous(1)
淡淡烟草味

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)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!