安装python3环境,安装导入以下相应的包再运行。
import openpyxl
import requests
from io import BytesIO
from os import path
from PIL import Image
import time
import sys
# 读取Excel中第一列的数据
def read_excel_col(file_name, col_index):
wb = openpyxl.load_workbook(file_name)
sheet = wb.active
col_data = list(sheet.columns)[col_index]
return col_data
# 根据链接下载图片,并保存到本地,随机生成文件名
def download_image(url):
r = requests.get(url)
img = Image.open(BytesIO(r.content))
filename1 = path.basename(url)
# 下载保存路径
savelocation = path.join('G:\桌面\img', filename1)
img.save(savelocation)
if __name__ == '__main__':
# 文件路径
file_name = 'G:\\桌面\\122.xlsx'
# 列索引
col_index = 0
# 调用函数
col_data = read_excel_col(file_name, col_index)
# 输出结果
for i in range(len(col_data)):
# 获取第i个元素
item = col_data[i]
# 判断是否为空
if item.value is not None:
# 判断是否为链接
if 'http' in item.value or 'https' in item.value:
#输出结果
sys.stdout.write('\r正在下载第%d张图片......' % (i + 1))
sys.stdout.flush()
# prt = content.replace(content, )
# print(prt)
# 下载图片
time.sleep(0.5)
download_image(item.value)
#print(item.value)
print('\r下载完成')