python - 圖片爬蟲時(shí)候遇到問題 urllib.request.urlretrieve 下載到指定文件夾不成功?
問題描述
如果下載到D盤也是沒有問題的,下載到我建立的目錄下就有問題(主要是我想在D盤建立以URL這個(gè)問號(hào)前面的數(shù)字為名字的目錄如(http://v.yupoo.com/photos/196...’)中的46975340就是不行,因?yàn)橛泻芏噫溄樱總€(gè)鏈接的這個(gè)數(shù)字不同,我想用這個(gè)數(shù)字作為文件夾的名字,存放這個(gè)鏈接下載下來的圖片)源碼如下:import urllib.requestimport reimport 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='http://www.gepszalag.com/wenda/(.+?.jpg)'’imgre = re.compile(reg)imglist = re.findall(imgre,html)
# print(imglist)
return imglist
for i in range(len(url_all)):
循環(huán)把圖片存到本地html = getHtml(url_all[i])list=getImg(html.decode())print (url_all[1])
x = 0for 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+=1print('done')
執(zhí)行報(bào)錯(cuò):(win10的64位系統(tǒng),python3.6)
File 'C:Python36liburllibrequest.py', line 258, in urlretrieve
tfp = open(filename, ’wb’)
FileNotFoundError: [Errno 2] No such file or directory: ’d:469753400.jpg’經(jīng)測(cè)試最后一句這么寫是可以輸出的: urllib.request.urlretrieve(imgurl,’d:%s.jpg’% str(i*10+x))
經(jīng)測(cè)試 前面兩句都沒有問題,加第三句: local=’d:%s%s.jpg’ %(filename2,x)
print (local)
urllib.request.urlretrieve(imgurl,local)
報(bào)錯(cuò)信息如下: (和上面一樣)
File 'C:Python36liburllibrequest.py', line 258, in urlretrieve
tfp = open(filename, ’wb’)
FileNotFoundError: [Errno 2] No such file or directory: ’d:469753400.jpg’
請(qǐng)教給位大大,這個(gè)路徑到底有什么問題沒有?應(yīng)該怎么寫。
問題解答
回答1:在保存之前,先檢查一下目錄是否存在,不存在則建立
if not os.path.exists(file_path): os.mkdir(file_path)
相關(guān)文章:
1. Android下,rxJava+retrofit 并發(fā)上傳文件和串行上傳文件的效率為什么差不多?2. javascript - 學(xué)習(xí)網(wǎng)頁開發(fā),關(guān)于head區(qū)域一段腳本的疑惑3. javascript - 如何獲取未來元素的父元素在頁面中所有相同元素中是第幾個(gè)?4. mysql - AttributeError: ’module’ object has no attribute ’MatchType’5. Whitelabel錯(cuò)誤頁面發(fā)生意外錯(cuò)誤(類型=未找到,狀態(tài)= 404)/WEB-INF/views/home.jsp6. 熱切期待朱老師的回復(fù),網(wǎng)頁視頻在線播放器插件配置錯(cuò)誤7. javascript - JS設(shè)置Video視頻對(duì)象的currentTime時(shí)出現(xiàn)了問題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...8. macos - mac下docker如何設(shè)置代理9. angular.js - ng-grid 和tabset一起用時(shí),grid width默認(rèn)特別小10. javascript - 從mysql獲取json數(shù)據(jù),前端怎么處理轉(zhuǎn)換解析json類型
