要件が発生しました。Web サイトの画像が多数含まれた Excel テーブルが与えられ、その画像をローカルにダウンロードしたいと考えました。手動で行うには、ブラウザに URL を入力し、画像に名前を付けて保存します。この記事ではPythonコードを使ったバッチ実装を紹介します。
最初のステップは、インターネットから画像をダウンロードすることです。これにはurlretrieveが使用されます。テンプレートは次のとおりです:
from urllib.request import urlretrieve
urlretrieve(web_path, save_path)
参考:https://blog.csdn.net/qq_28304687/article/details/76551196/
実装ソースコード:
from urllib.request import urlretrieve
import xlrd2
#excel表的路径,可绝对路径,可相对路径
file_name = "D:\\Desktop\\工作簿1.xlsx"
file = xlrd2.open_workbook(file_name)
# 输出Excel中表的个数
print(file.nsheets)
# 读取某张表
sheet = file.sheet_by_name("Sheet1")
# 获取表的行数
nrows = sheet.nrows
# 获取表的列数
ncols = sheet.ncols
print("nrows: %d, ncols: %d" % (nrows, ncols))
# 获取第x列的数据(从0开始计数)
col_value = sheet.col_values(8)
print(len(col_value))
# 循环读取execl中的图片url地址
for i in range(len(col_value)):
img_src = col_value[i]
data = ''
for j in range(len(img_src)): #以/为分割符,获取最后的图片名称(逆序)
if img_src[len(img_src)-1-j] != '/':
data += img_src[len(img_src)-1-j]
else:
break
temp = data[::-1] # 倒置操作
urlretrieve(img_src, "D:\\Desktop\\pic\\"+temp) # 从网上下载并保存到本地
print('finish!')