在美桌下载某一个系列的图片

2023-11-09 02:40

本文主要是介绍在美桌下载某一个系列的图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.确定目标网页
2.发送请求
3.解析数据
4.保存数据
5.下载多张图片

1.确定目标网页,确定爬取的url路径,headers参数

 url = 'http://www.win4000.com/wallpaper_detail_178645.html' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}

2.发送请求–requests 模拟浏览器发送请求 获取响应数据

response = requests.get(headers=headers, url=url)
print(response)

若响应为下图所示,则表示我们我们成功获取数据在这里插入图片描述

3.解析数据
观察我们的网页,用正则表达式匹配获取图片的url在这里插入图片描述

 result = re.findall('<img class="pic-large" src="(.*?)" alt=".*" title=".*"/>', response.text, re.S)print(result)

打印result的结果显示,此时已经获取到图片的url
因为图片是二进制数据,所以我们用content获取到该图片的数据

response_img = requests.get(result[0]).content
print(response_img)

用获取到的url最后面一段作为该图片的name。

file_name = result[0].split('/')[-1]

4.保存数据

保存数据到本地文件

with open('picture1_3\\' + file_name, mode='wb')as f:f.write(response_img)

此时图片就保存到本地文件了在这里插入图片描述
5.下载多张图片
同时下载多张图片需要对比图片数据的差别,找到差别一起处理才能同时下载多张图片。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过对比我们可以发现,这一系列的图片是通过该url最后一位数字进行变化的。然后我们可以通过循环的方式将图片一起下载。这个
下面是完整代码展示

import requests
import re
import osif not os.path.exists('picture1_3'):os.makedirs('picture1_3')for page in range(1, 8):url = 'http://www.win4000.com/wallpaper_detail_178645_{}.html'.format(page)headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}response = requests.get(headers=headers, url=url)# print(response)result = re.findall('<img class="pic-large" src="(.*?)" alt=".*" title=".*"/>', response.text, re.S)print(result)response_img = requests.get(result[0]).content# print(response_img)file_name = result[0].split('/')[-1]print(file_name)with open('picture1_3\\' + file_name, mode='wb')as f:f.write(response_img)print(file_name + '下载完成')

这篇关于在美桌下载某一个系列的图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373653

相关文章

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互