当前位置: 首页 > news >正文

图片爬取案例

修改前的代码

但是总显示“失败”

原因是

修改之后的代码

import requests
import os
from urllib.parse import unquote

# 原始URL
url = 'https://cn.bing.com/images/search?view=detailV2&ccid=TnImuvQ0&id=5AE65CE4BE05EE7A79A73EEFA37578E87AE19421&thid=OIP.TnImuvQ0eOu3Ncn8G7W4BQHaE8&mediaurl=https%3a%2f%2fpic.nximg.cn%2ffile%2f20230512%2f33688781_144207815103_2.jpg&exph=683&expw=1024&q=%e9%87%8d%e5%ba%86%e9%82%ae%e7%94%b5%e5%a4%a7%e5%ad%a6%e5%9b%be%e7%89%87%e5%ba%93&simid=608017321150603477&FORM=IRPRST&ck=82C8DD3330C84300350495177BFC73F6&selectedIndex=0&itb=0&idpp=overlayview&ajaxhist=0&ajaxserp=0'

# 解析出实际的图片URL
media_url_encoded = url.split('mediaurl=')[-1].split('&')[0]
media_url = unquote(media_url_encoded)

# 定义保存图片的目录和文件名
root = 'E://'
filename = media_url.split('/')[-1]
path = os.path.join(root, filename)

try:
    # 确保目录存在
    if not os.path.exists(root):
        os.makedirs(root)

    # 如果文件不存在,则下载图片
    if not os.path.exists(path):
        response = requests.get(media_url)
        response.raise_for_status()  # 如果请求出错,这里会抛出HTTPError异常
        with open(path, "wb") as f:
            f.write(response.content)
        print("文件保存成功")
    else:
        print("文件已存在,未进行下载")
except requests.RequestException as e:
    print(f"请求错误: {e}")
except Exception as e:
    print(f"发生错误: {e}")

http://www.dtcms.com/a/35792.html

相关文章:

  • Spring Boot 项目启动命令大全:参数详解与高阶用法
  • Android之APP更新(通过接口更新)
  • Unity 协程
  • SpringBoot五:Web开发
  • ubuntu20.04音频aplay调试
  • BUUCTF--[极客大挑战 2019]RCE ME
  • 基于STM32、HAL库的CANopen简介及驱动程序设计
  • Linux系统:服务器常见服务默认IP端口合集
  • 力扣2382. 删除操作后的最大子段和
  • 轮播图Cell没有正确布局
  • 安装Liunx(CentOS-6-x86_64)系统
  • 【信息系统项目管理师-案例真题】2010下半年案例分析答案和详解
  • 网页制作08-html,css,javascript初认识のhtml使用框架结构,请先建立站点!
  • spring-data-mongoDB
  • UML中各箭头符号解释
  • 告别阻塞,迎接高效:掌握 AsyncIOScheduler 实现异步任务调度
  • vue2版本elementUI的table分页实现多选逻辑
  • 基于SpringBoot + Vue的共享汽车(单车)管理系统设计与实现+毕业论文+开题报告+指导搭建视频
  • Github更新本地仓库到远程总是失败文件过大,如何解决。
  • 设计模式教程:策略模式(Strategy Pattern)
  • C++程序员内功修炼——Linux C/C++编程技术汇总
  • RK3399 Android7 Ethernet Tether功能实现
  • 香港多IP站群服务器
  • 【时时三省】(C语言基础)顺序程序设计举例
  • 【无人集群系列---大疆无人集群技术进展、技术路线与未来发展方向】
  • 汽车零部件工厂如何通过ESD监控系统闸机提升产品质量
  • 如何在 CMake 上设置新项目以获得成功
  • 起猛了,植物大战僵尸出了金铲铲模式?
  • Linux 核心架构与组件(2025更新中)
  • 回溯算法之组合和排列问题