图片爬取案例

embedded/2025/2/26 20:57:42/

修改前的代码

但是总显示“失败”

原因是

修改之后的代码

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.ppmy.cn/embedded/167357.html

相关文章

css 实现 tailwindcss peer 功能

1.假设我们有两个相邻的元素&#xff0c;当第一个元素处于 focus 状态时&#xff0c;我们要改变第二个元素的样式。 ①.运用 :focus 伪类和相邻兄弟选择器 &#xff0c;当 input 元素处于 focus 状态时&#xff0c;改变 div 元素的背景颜色和文字颜色。 <!DOCTYPE html>…

[Web 安全] PHP 反序列化漏洞 —— PHP 面向对象基础知识

关注这个专栏的其他相关笔记&#xff1a;[Web 安全] 反序列化漏洞 - 学习笔记-CSDN博客 因为后面介绍的 PHP 反序列化漏洞其实与 PHP 对象是密不可分的&#xff0c;所以这边笔者就简单介绍一下 PHP 中面向对象编程的基础知识。这里笔者是假定读者已经对 PHP 有基础了解了&#…

【gitlab】认识 持续集成与部署

持续集成&#xff08;CI&#xff09;与持续部署&#xff08;CD&#xff09; 1. 什么是持续集成&#xff08;CI&#xff09;&#xff1f; 持续集成&#xff08;Continuous Integration&#xff0c;CI&#xff09;是一种软件开发实践&#xff0c;强调开发人员频繁地将代码提交到…

Linux的目录结构

linux的文件系统是采用级层式的树状目录结构&#xff0c;在此结构中的最上层是根目录“/”&#xff0c;然后在此目录下再创建其他的目录。Linux中有许多规定好的目录名字&#xff0c;不允许修改。 在Linux世界里&#xff0c;一切皆文件。把硬件当做文件来管理。 具体目录结构…

Java 数学函数库

文章目录 前言为什么用 Java 编写代码量项目结构核心模块 math-library常规整数有理数有限小数进制数复数集合离散函数统计 自研算法大有理数转化为 double 自创概念数排编码组合编码二进制编码 概率组合选概率 压缩均匀压缩 核心模块 math-built-in-type基础计算统计排列组合操…

sage-huga改进SITAN

Sage-Husa自适应滤波算法 Sage-Husa自适应滤波算法是一种在递推滤波过程中实时估计和修正系统噪声和观测噪声统计特性的算法,从而降低系统模型误差,提高滤波精度。该算法基于卡尔曼滤波,并通过自适应调整噪声协方差矩阵来优化滤波效果。 算法原理 Sage-Husa滤波器的核心思…

【Win10】Anaconda + Pycharm 环境搭建教程

一、 Anaconda 安装包下载 1. Anaconda官方 https://www.anaconda.com/ 下载较慢, 页面直观 2. 清华镜像站 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 二、 Pycharm 安装包下载 https://www.jetbrains.com/pycharm/ 进入官网后&#xff0c;点击此处的Do…

MFC笔记:本专栏课件

专栏导航 上一篇&#xff1a;在VS2019里面&#xff0c;调整代码字体大小 回到目录 下一篇&#xff1a;无 本节前言 在之前的讲解里面&#xff0c;我讲解了 Visual Studio 软件的一些个基础操作步骤。从本节开始&#xff0c;我们进入预备章。 本节内容&#xff0c;属于是 …