最近操作采集的数据,有时候涉及到了图片的批量处理。在这里记录下使用python来批量下载图片。
import requests
import time
import os
import MySQLdb
def save_pics(urls):
# 根据图片的URL地址进行循环下载
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) \
Chrome/76.0.3809.100 Safari/537.36'}
# filename = './{}/'.format(search_words) + i.split('/')[-1]
filename = os.path.basename(urls)
# exit(print(filename))
try:
saveImagePath=r'E:\sciimg'
# newSaveImagePath = saveImagePath+filename
newSaveImagePath = os.path.splitext(saveImagePath)[0]+'\\' +filename
# exit(print(newSaveImagePath))
with open(newSaveImagePath, 'wb+') as f:
f.write(requests.get(urls, headers=headers).content) # 将请求响应的二进制文件写入文件
print("图片下载成功")
except:
print("图片下载失败"+urls)
# time.sleep(5)
db = MySQLdb.connect(host='127.0.0.1', port=3306, user='dg', passwd='diguo75', db='dg',charset='utf8')
cursor = db.cursor()
pub_exit = "select img from img"
try:
cursor.execute(pub_exit)
results = cursor.fetchall()
for row in results:
# print(row[0])
save_pics(row[0])
except:
print('error')
我这里是从本地数据库的表内获取图片地址,并根据地址下载对应的图片到本地。
使用Python来批量下载网站的图片