使用Python来批量下载网站的图片

最近操作采集的数据,有时候涉及到了图片的批量处理。在这里记录下使用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来批量下载网站的图片

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top