You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python下载指定图片?浏览器可保存但脚本下载失败

问题原因与解决方法
  • 核心问题:目标网站存在反爬机制,会校验请求的User-Agent字段。直接用requests.get()发起请求时,默认的User-Agent会被识别为非浏览器请求,服务器返回的不是图片数据,而是一段验证或错误内容(也就是你得到的155字节文件)。

  • 解决步骤:

    1. 给请求添加模拟浏览器的请求头,重点是User-Agent字段,让服务器认为请求来自正常浏览器。
    2. 可额外添加Referer字段,进一步模拟真实浏览器的访问逻辑(部分网站会校验来源页面)。

修改后的代码示例:

import requests

url = 'https://icodrops.com/wp-content/uploads/2022/10/Ai_sYzYL_400x400-150x150.jpg'
# 模拟Chrome浏览器的请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
    'Referer': 'https://icodrops.com/'
}

response = requests.get(url, headers=headers)
# 先检查响应状态码,确认请求成功
if response.status_code == 200:
    with open("1.jpg", 'wb') as f:
        f.write(response.content)
else:
    print(f"请求失败,状态码:{response.status_code}")
  • 补充说明:
    • 你也可以从自己浏览器的开发者工具中复制真实的User-Agent,替换代码中的对应字段,适配不同浏览器环境。
    • 如果添加User-Agent后还是失败,可以检查是否需要其他请求头(比如Cookie),部分网站需要登录验证或会话信息才能访问资源。

内容的提问来源于stack exchange,提问作者André Ferreira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 18:59:52