學習分享:包括但不限於計算機學習、數學、英語等;
影音分享:我個人喜歡的影視作品,以及音樂;
今天主要分享我前段時間為了解決批量下載圖片寫的一段python代碼過程。
讀取excel文件存儲路徑並讀取文件內容;
按照文件中一級分類->二級分類批量創建文件夾,並根據圖片的url下載圖片(for循環+if判斷);
代碼示例:
import xlrdimport requestsimport numpy as npimport pandas as pdimport os
path = r'E:\\全家數據\\菜單圖片\\'
file_list = os.listdir(path)print("文件夾中有{}個文件".format(len(file_list)))input_list = []for file in file_list: file_path = os.path.join(path,file) print(file_path) df = pd.read_excel(file_path,sheet_name=0,converters = {u'7位貨號':str,u'8位貨號':str}) df['7位貨號']=df['7位貨號'].astype(np.str) input_list.append(df)df_total = pd.concat(input_list)for i in range(len(df_total['菜單名'])): category1= df_total['一級分類名'][i] category2= df_total['二級分類名'][i] dirs_1=path+category1+'\\' dirs_2=dirs_1+category2+'\\' if not os.path.exists(dirs_1): os.makedirs(dirs_1) if not os.path.exists(dirs_2): os.makedirs(dirs_2) url = df_total['圖片'][i] name = df_total['7位貨號'][i] f = requests.get(url) pic_name = dirs_2+name+'.jpg' with open(pic_name,"wb") as code: code.write(f.content)
print("圖片處理完成,請查看!")結果:
以上就大功告成了!!!!!!
拓展:是否可以實現批量摳圖,並給圖片加上白底,然後按照800X800px保存圖片?