利用python批量下载图片

在贴吧找到一组图片,记录了皇骑隐藏宝物的地址,但手机端访问的时候总是提示要求下载贴吧的app,博主用的64g内存的手机,光一个千牛就占了12g,实在没有太多空间来安装多余的app,所以就想把图片转载到自己的博客上。

首先是审查元素提取图片地址,有了deepseek之后,这个操作就方便了许多,美中不足的是,deepseek的逐行输出的方式过于浪费时间,好在图片不多,只有34张。

python3程序

import requests
import os
import time

# 图片URL列表
image_urls = []

# 创建保存图片的文件夹
save_folder = "The_Knight_of_Lodis_Treasure"
if not os.path.exists(save_folder):
    os.makedirs(save_folder)

# 设置请求头,模拟浏览器访问
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

# 下载图片
success_count = 0
fail_count = 0

print(f"开始下载图片到文件夹: {save_folder}")
print(f"总共 {len(image_urls)} 张图片")

for i, url in enumerate(image_urls, 1):
    try:
        # 生成文件名
        filename = f"The_Knight_of_Lodis_Treasure_{i}.jpg"
        filepath = os.path.join(save_folder, filename)
        
        print(f"正在下载第 {i} 张图片: {filename}")
        
        # 发送请求
        response = requests.get(url, headers=headers, timeout=30)
        response.raise_for_status()  # 检查请求是否成功
        
        # 保存图片
        with open(filepath, 'wb') as f:
            f.write(response.content)
        
        success_count += 1
        print(f"  下载成功: {filename}")
        
        # 添加短暂延迟,避免请求过于频繁
        time.sleep(0.5)
        
    except requests.exceptions.RequestException as e:
        fail_count += 1
        print(f"  下载失败: {filename} - 错误: {str(e)}")
    except Exception as e:
        fail_count += 1
        print(f"  保存失败: {filename} - 错误: {str(e)}")

print("\n下载完成!")
print(f"成功: {success_count} 张")
print(f"失败: {fail_count} 张")
print(f"图片保存在: {os.path.abspath(save_folder)}")

python2版本程序

import requests
import os
import time
import sys

# 图片URL列表
image_urls = [
    "您的地址1",
    "您的地址2"
]

# 创建保存图片的文件夹
save_folder = "The_Knight_of_Lodis_Treasure"
if not os.path.exists(save_folder):
    os.makedirs(save_folder)

# 设置请求头,模拟浏览器访问
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

# 下载图片
success_count = 0
fail_count = 0

print "开始下载图片到文件夹: %s" % save_folder
print "总共 %d 张图片" % len(image_urls)

for i, url in enumerate(image_urls, 1):
    try:
        # 生成文件名
        filename = "The_Knight_of_Lodis_Treasure_%d.jpg" % i
        filepath = os.path.join(save_folder, filename)
        
        print "正在下载第 %d 张图片: %s" % (i, filename)
        
        # 发送请求
        response = requests.get(url, headers=headers, timeout=30)
        response.raise_for_status()  # 检查请求是否成功
        
        # 保存图片
        with open(filepath, 'wb') as f:
            f.write(response.content)
        
        success_count += 1
        print "  下载成功: %s" % filename
        
        # 添加短暂延迟,避免请求过于频繁
        time.sleep(0.5)
        
    except requests.exceptions.RequestException as e:
        fail_count += 1
        print "  下载失败: %s - 错误: %s" % (filename, str(e))
    except Exception as e:
        fail_count += 1
        print "  保存失败: %s - 错误: %s" % (filename, str(e))

print "\n下载完成!"
print "成功: %d 张" % success_count
print "失败: %d 张" % fail_count
print "图片保存在: %s" % os.path.abspath(save_folder)

标签: python

移动端可扫我直达哦~

推荐阅读

thumbnail 2026-01-08

让python程序后台运行的方案

前台运行的程序影响了服务器的使用,但又希望该程序能一直运行,所以就考虑在后台跑这个PYTHON服务。使用&在Linux/Mac终端后台运行python your_script.py &程序会在后台运行按回车返回终端使用jobs...

建站相关 python

thumbnail 2025-10-09

python扫描电话手表的开放端口

手头上有台闲置的米兔2S电话手表,固件版本是T13开头的,想看看ip地址有没有什么端口是开放便于调试的,所以利用python扫了一下,程序利用deepseek生成,结果扫一遍下来用了10分钟,答案是一个端口也没有开放:import s...

少儿编程 python

thumbnail 2025-10-09

PYTHON 通过按键来中止循环程序运行

用python实现了一个类似按键精灵的功能,在一个可修改的pdf里依次输入序列号并打印,序列号多的时候结束程序很难被点到,所以想设置一个快捷键来中止程序。程序基与python 2.7.18, 需要调用 keyboard 库,如果没有的...

少儿编程 python

thumbnail 2025-07-23

利用python2.7.18解密pdf文件

之前介绍过在线移除pdf密码的方式,但在线的方式多少有些安全隐患,而且当pdf过大时,下载的速度也堪忧。所以就补充一个利用python来解密的方案。博主的python版本是python2.7.18。解密需要用到python的PyPDF...

少儿编程 python

thumbnail 2025-07-03

利用python拆分本地pdf文件的方法

之前分享过利用在线文件格式转换工具来拆分PDF文件的方法,昨天遇到一个尴尬的问题,利用在线转换的时候,上传速度很快,拆分也没有报错,然而拆分后的压缩包总计32M,而下载速度却只有可怜的30k,这就有点不能忍了。于是在下载进度条第一次报...

少儿编程 python

thumbnail 2025-03-29

利用python压缩扫描图片格式的pdf文件

扫描了一份52页的银行流水,需要提交到某个网站,但该站点限制最大文件不超过10M,博主的扫描件大小总计38M,用夸克浏览器扫描得到,即便选择瘦身模式,最终的大小也超过了30M。之前有找过压缩pdf的在线站点,博主在博客内也有提及,有兴...

少儿编程 python

thumbnail 2025-01-07

利用python3查找文件夹内所有文件内容

学习wp主题的时候看到了几个自定义的action,因为主题文件较多,随手点了几个都不对,逐渐红温,忽然想起来python可能会有对应的模块吧,毕竟“人生苦短,我用python”嘛。要说ai搜索这东西,方便确实是方便,一搜索直接把示例程...

少儿编程 python

thumbnail 2024-06-28

python中print函数的格式控制符号

%字符:标记转换说明符的开始;转换标志:- 表示左对齐;+ 表示在转换值之前要加上正负号;“” (空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充;最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽...

少儿编程 python

thumbnail 2024-06-27

小鸟数据python语法速查表

Python对大小写敏感,使用半角符号,变量命名采用“_”、数字或字母的组合,建议采用规范的命名方式,比如使用驼峰式命名方式,编程过程中多写注释。基础语法数据类型:整数,浮点,字符串,逻辑值运算符号:+,-,*,/, % , // ,...

少儿编程 python

thumbnail 2024-06-18

pyautogui报错误:No module named pytweening

之前利用pyautogui实现了一个类似按键精灵的功能,在一个可写的PDF文件中,动态修改某个单元格的值,并依次打印出来。利用python2.7实现的程序,因为中途换装过python3,换回python2.7版本之后很多库都失效了,年...

少儿编程 python