Rumah > Soal Jawab > teks badan
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
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
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)):
html = getHtml(url_all[i])
list=getImg(html.decode())
x = 0
for imgurl in list:
print(x)
filename = os.path.dirname(url_all[i])
filename2 = os.path.basename(filename)
local='D:\%s\%s.jpg' %(filename2,x)
print (local)
urllib.request.urlretrieve(imgurl,local)
x+=1
Ralat pelaksanaan: (sistem win10 64-bit, python3.6)
Fail "C:Python36liburllibrequest.py", baris 258, dalam urlretrieve
tfp = buka(nama fail, 'wb')
Ayat terakhir yang ditulis seperti ini boleh menjadi output: urllib.request.urlretrieve(imgurl,'d:%s.jpg'% str(i*10+x))
local='d:%s%s.jpg' %(filename2,x)
.
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.
淡淡烟草味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)