【Python】使用Python下载指定路径的图片

 背景:有一批图片链接,分为多个组,要把每个图片下载下来,并按照各个组分别存放

import os
import random
import time
import requests
import headers_list
import sqlalchemy
import pandas as pd

data_group_name=[]
#图片组的list
data_url=[]
#图片连接的list
data_rank=[]
#每个图片的名称list


path='C:\\Users\\86185\\Documents\\py_down\\'
break_cnt=0
for i in range(len(data_group_name)):
    if os.path.exists(path+data_group_name[i]):
        time.sleep(0.01)
    else:
        os.mkdir(path+data_group_name[i])
    #判断路径是否存在,存在就暂停0.01秒,不存在就新建路径

    path='C:\\Users\\86185\\Documents\\py_down\\'
    head = random.choice(headers_list.user_agent)
    #随机选择浏览器头
    headers = {'User-Agent': head}
    img_path = path + data_group_name[i] + '\\' + str(data_rank[i]) + '.jpg'
    #文件路径+文件名
    if i%100==0:
        print(i)
        print(img_path)
    if os.path.exists(img_path):
        time.sleep(0.02)
    else:
        try:
        #异常处理主要是防止图片链接访问不了
            pic = requests.get(data_url[i], headers=headers, timeout=10).content
            #访问图片链接
            with open(img_path,'wb') as f:
                f.write(pic)
        except:
            print(data_url[i])
            #break
            head = random.choice(headers_list.user_agent)
            headers = {'User-Agent': head}
            break_cnt=break_cnt+1
            if break_cnt==100:
                #失败100次就暂停任务
                break

几个主要处理:

1、路径&文件名判断,不存在才创建

2、访问图片链接的异常处理,避免因为网络或其他问题的保存就停止,异常处理可以跳过报错的图片,先处理其他的

你可能感兴趣的:(python,前端,爬虫,pandas)