Rumah  >  Soal Jawab  >  teks badan

python - Menghadapi masalah semasa merangkak imej urllib.request.urlretrieve gagal dimuat turun ke folder yang ditentukan?

Tiada masalah jika anda memuat turun ke pemacu D, tetapi terdapat masalah jika anda memuat turun ke direktori yang saya buat (terutamanya kerana saya ingin mencipta direktori pada pemacu D yang dinamakan dengan nombor di hadapan tanda soal dalam URL, seperti (http://v.yupoo) .com/photos/196...') tidak akan berfungsi, kerana terdapat banyak pautan, dan nombor setiap pautan adalah berbeza nombor ini sebagai nama folder untuk menyimpan gambar yang dimuat turun dari pautan ini)
Kod sumber adalah seperti berikut:
import urllib.request
import semula
import os

py merebut imej halaman dan menyimpannya secara setempat

Dapatkan maklumat halaman

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

Dapatkan gambar melalui ungkapan biasa

def getImg(html):

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

# cetak(imglist)

return imglist

untuk saya dalam julat(len(url_all)):

Gelung untuk menyimpan gambar secara setempat

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

cetak (url_semua[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'% nama fail2)

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

cetak("selesai")

Ralat pelaksanaan: (sistem win10 64-bit, python3.6)

Fail "C:Python36liburllibrequest.py", baris 258, dalam urlretrieve

tfp = buka(nama fail, 'wb')

FileNotFoundError: [Errno 2] Tiada fail atau direktori sedemikian: 'd:46975340

Selepas ujian

Ayat terakhir yang ditulis seperti ini boleh menjadi output: urllib.request.urlretrieve(imgurl,'d:%s.jpg'% str(i*10+x))

Selepas ujian, tiada masalah dengan dua ayat pertama Tambahkan ayat ketiga:

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

cetak (tempatan)

urllib.request.urlretrieve(imgurl,local)

Mesej ralat adalah seperti berikut: (Sama seperti di atas)

Fail "C:Python36liburllibrequest.py", baris 258, dalam urlretrieve

tfp = buka(nama fail, 'wb')

FileNotFoundError: [Errno 2] Tiada fail atau direktori sedemikian: 'd:46975340

Sila beritahu saya, adakah terdapat sebarang masalah dengan laluan ini? Bagaimana ia harus ditulis.

给我你的怀抱给我你的怀抱2710 hari yang lalu1939

membalas semua(1)saya akan balas

  • 淡淡烟草味

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

    Sebelum menyimpan, semak sama ada direktori itu wujud Jika tidak, buatnya

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

    balas
    0
  • Batalbalas