手把手教你用Python网络爬虫获取壁纸图片

【Python爬虫案例教学】采集某网站壁纸,实现壁纸自由 (。・∀・)ノ゙嗨 ,批量采集壁纸,实现壁纸更换自由 ~ 阅读详情

前言

想要电脑换个壁纸时都特别苦恼,因为百度搜到那些壁纸也就是分辨率达到了壁纸的水准。可是里面图片的质量嘛,实在是不忍直视…。而有些4K高清的壁纸大多是有版权的 ,这就使我们想要获取高清的图片,变得非常的困难。

wallhaven 网站是无版权的4K壁纸 ,而且主题丰富(创意、摄影、人物、动漫、绘画、视觉),今天教大家如何去批量的去下载wallhaven4K原图。
在这里插入图片描述

项目目标

获取对应的4K壁纸,并批量下载保存在文件夹。

涉及的库和网站

软件:PyCharm

需要用到的库:requests、lxml、fake_useragent、time

先列出网址,如下所示:

https://wallhaven.cc/search?q=id%3A65348&page={}

网址city=%E5%B9%BF%E5%B7%9E指的是广州这个城市、pn指的是页数。

项目分析

滑动鼠标观察下一页的网址的变化:

 1. https://wallhaven.cc/search?q=id%3A65348&page=1
 2. https://wallhaven.cc/search?q=id%3A65348&page=2
 3. https://wallhaven.cc/search?q=id%3A65348&page=3

滑动下一页时,每增加一页page自增加1,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。

具体实现

1、定义一个class类继承object,定义init方法继承self,主函数main继承self。导入需要的库和网址。

import requests
from lxml import etree
from fake_useragent import UserAgent
import time

class  wallhaven(object):
    def __init__(self):
      self.url = "https://wallhaven.cc/search?q=id%3A65348&page={}"

    def main(self):
        pass

if __name__ == '__main__':
    imageSpider =  wallhaven()
    imageSpider.main()

2、fake_useragent模块实现随机产生UserAgent。

 ua = UserAgent(verify_ssl=False)
        for i in range(1, 50):
            self.headers = {
                'User-Agent': ua.random,
            }

3、for循环实现多网址访问。

startPage = int(input("起始页:"))
endPage = int(input("终止页:"))
for page in range(startPage, endPage + 1):
    url = self.url.format(page)

4、发送请求 获取响应。

‘’‘发送请求 获取响应’‘’

 def get_page(self, url):
        res = requests.get(url=url, headers=self.headers)
        html = res.content.decode("utf-8")
        return html

5、解析一级页面,得到二级页面的 href 地址。

 def parse_page(self, html):
    parse_html = etree.HTML(html)
    image_src_list = parse_html.xpath('//figure//a/@href')

6、遍历二级页面网址,发生请求、解析数据。找到相对于的图片地址。

html1 = self.get_page(i)  # 二级页面发生请求
parse_html1 = etree.HTML(html1)
# print(parse_html1)
filename = parse_html1.xpath('//div[@class="scrollbox"]//img/@src')
# print(filename)

7、获取到的图片地址,发生请求,保存。

# 图片地址发生请求
for img in filename:
    dirname = "./图/" + img[32:] '''可修改图片保存的地址'''
    print(dirname)
    html2 = requests.get(url=img, headers=self.headers).content

    with open(dirname, 'wb') as f:
        f.write(html2)
        print("%s下载成功" % filename)

8、调用方法,实现功能。

html = self.get_page(url)
self.parse_page(html)
优化:设置延时。(防止ip被封)。

time.sleep(1.4) """时间延时"""

效果展示

1、点击绿色按钮运行,将结果显示在控制台,如下图所示。输起始页和终止页,回车。
在这里插入图片描述
2、图片下载成功控制台输出。
在这里插入图片描述
3、批量保存。
在这里插入图片描述
4、验证4K。(点击图片打开属性)
在这里插入图片描述

小结

1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

2、本文基于Python网络爬虫,利用爬虫库,获取wallhaven4K壁纸。

3、4K的壁纸下载时可能会有点缓慢,请大家耐心的等待。如果图片的地址不一样,需要自己修改一下图片的保存的地址。

4、大家也可以在wallhaven网址上,寻找自己喜欢图片,按照操作步骤,自己尝试去做。自己实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

5、如果本文源码的小伙伴,请微信扫描下方优快云官方认证二维码免费领取进行获取,觉得不错,记得给个Star噢~

👉[[优快云大礼包:《python安装包&全套学习资料》免费分享]](安全链接,放心点击)

在这里插入图片描述

python网络爬虫(二)分页爬取图片 上篇回顾 在上篇讲述了网络爬虫爬取某个网页上的图片,我们实现的是具有Img标签的所有href进行爬取。但是,一个网站不可能只有一个页面有图片,我们爬取图片也不是只爬取一个页面的图片,这时如果我们需要爬取某个网站上的多页图片时,就需要对上篇代码进行改进了。 怎么实现分页爬取呢? 还是以ZOL桌面壁纸这个网站为例,打开网站我们发现下面有上一页、1、2、3、4、5、下一页等链接可以点击,所以在改... 阅读详情

相关推荐

如何运用python爬虫爬取图片素材网站的图片?(附完整代码)

在当今数字化时代,高质量的图片资源对于设计师、开发者以及任何需要视觉素材的用户来说都至关重要。作为一个提供丰富壁纸资源的网站,涵盖了从普通高清到4K、5K甚至8K超高清的多种分辨率,满足了不同用户的需求。然而,手动下载这些壁纸不仅耗时,而且效率低下。因此,开发一个自动化爬虫程序,批量下载高质量壁纸,不仅能节省时间,还能提高工作效率。本文将详细介绍如何使用Python爬虫技术从爬取并保存高质量的电脑壁纸,同时确保整个过程符合网站的使用条款和法律规范。

2558

爬虫第1课,手把手教你,批量爬取高清壁纸

手把手教你,批量获取高清壁纸,爬虫_01

zhiboqingyun的博客 997

5000张高清壁纸大图(手机用),用Python在法律的边缘又试探了一把

一辈子的手机壁纸都够用了

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 14万+

python爬虫,爬取网页壁纸图片

python爬虫实战,爬取网页图片

weixin_46062349的博客 2244

整理笔记——二极管

二极管是一种由半导体材料制成的一种具有单向导电性能的电子元器件,二极管的核心是PN结。加在二极管两端的电压和通关的电流被成为,二极管的伏安特性曲线​​​二极管的正向特性:起初正向电压较小时,正向电流几乎没有,称之为死区,此时二极管处于截止状态。当电压差超过截止电压(0.5V或者0.7V),电流随着电压上升,开始增加缓慢,随后急剧增大,二极管的电阻变小进入导通状态,此时电压变化较小。二极管的反向特性:起初反向电流很小,不随电压二变化,此时成为反向饱和电流;当方向电压达到二极管的反向击穿电压。

#include 810

欧姆龙NX控制器与Sysmac studio的电机配置方法

使用歐姆龍NX控制器與Sysmac studio控制電機簡單運動 <上> — 環境配置0. 前言1. 實際硬件連接2. Sysmac studio 配置2.1 新建工程2.2 通信設置2.2.1 軟件內通信設置2.2.2 上位機本地通信設置 0. 前言 筆者最近需要使用到歐姆龍的多軸運動控制器來控制電機運動,但網路上關於Sysmac studio的教程或文章較為零散,作為初學者的筆者難以消化,故在稍微會用軟件後撰寫本文,為自己留個筆記,同時希望能夠幫助到需要的人。 1.本文面向買了歐姆龍控制器

weixin_46005653的博客 1万+

python爬虫实例--爬取电脑壁纸

python爬取好看的图片壁纸

密发渐消 1859

《全连接到卷积神经网络:图像识别的演变历程》

这篇文章会从传统全连接层面临的困境说起,揭示卷积神经网络(CNN)成为图像识别核心动力的原因,探究其背后蕴含的设计思想与技术创新。但是回顾历史,CNN的出现提醒我们:技术的突破往往是由对自然规律的模仿和重新构建得来的。也许,当机器真的学会“像人一样看世界”的时候,它们的“眼睛”早就超过生物视觉的限制了。例如,用5×5的核处理224×224的输入时,只要25个参数(而不是全连接那种百万级的)。* 局部性:网络的底层只需留意局部的地方(像边缘、纹理这样的地方),不用管那些全局像素之间复杂的关系。

2401_82434295的博客 673

手把手教你用Python网络爬虫获取壁纸图片!

今 日 鸡 汤 桃之夭夭,灼灼其华。 /1 前言/ 想要电脑换个壁纸时都特别苦恼,因为百度搜到那些壁纸也就是分辨率达到了壁纸的水准。可是里面图片的质量嘛,实在是不忍直视…。而有些4K高清的壁纸大多是有版权的 ,这就使我们想要获取高清的图片,变得非常的困难。 wallhaven 网站是无版权的4K壁纸 ,而且主题丰富(创意、摄影、人物、动漫、绘画、视觉),今天教大家如何去批量的去下载wallhaven4K原图。 /2 项目目标/ 获取对应的4K壁纸,并批量下载保存...

pythonlaodi的博客 888

手把手教你用CsvView分析大疆无人机飞行日志(附实战CTF题解)

本文详细介绍了如何使用CsvView工具分析大疆无人机飞行日志,包括环境搭建、日志提取、核心功能解析及CTF实战技巧。通过实战案例,帮助读者掌握无人机取证的关键技术,提升日志分析能力,特别适合网络安全竞赛和实际取证场景。

weixin_42652674的博客 455

v86.01 鸿蒙内核源码分析 (静态分配篇) | 很简单的一位小朋友 | 百篇博客分析 OpenHarmony 源码

相比动态分配,静态内存池的分配就是个小弟弟,非常的简单,两个结构体 + 一张图 就能说明白。

日拱一卒,力出一孔 773

java获取网络图片_手把手教你用Python网络爬虫获取壁纸图片

/1 前言/ 想要电脑换个壁纸时都特别苦恼,因为百度搜到那些壁纸也就是分辨率达到了壁纸的水准。可是里面图片的质量嘛,实在是不忍直视…。而有些4K高清的壁纸大多是有版权的 ,这就使我们想要获取高清的图片,变得非常的困难。 wallhaven 网站是无版权的4K壁纸 ,而且主题丰富(创意、摄影、人物、动漫、绘画、视觉),今天教大家如何去批量的去下载wallhaven4K原图。/2 项目目标/ 获取对应...

weixin_39956009的博客 121

华为云计算——FusionCompute创建虚拟机

华为云计算——FusionCompute创建虚拟机

jks212454的博客 3675

python爬虫设计图片_手把手教你用Python网络爬虫获取壁纸图片

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤桃之夭夭,灼灼其华。/1 前言/想要电脑换个壁纸时都特别苦恼,因为百度搜到那些壁纸也就是分辨率达到了壁纸的水准。可是里面图片的质量嘛,实在是不忍直视…。而有些4K高清的壁纸大多是有版权的 ,这就使我们想要获取高清的图片,变得非常的困难。wallhaven 网站是无版权的4K壁纸 ,而且...

weixin_39611546的博客 171

手把手教你学Simulink——基于Simulink的全双工无线通信仿真建模示例

目录手把手教你学Simulink——基于Simulink的全双工无线通信仿真建模示例一、背景介绍二、所需工具和环境三、步骤详解步骤1:创建Simulink模型步骤2:设计输入信号步骤3:添加调制模块步骤4:添加自干扰消除模块步骤5:添加AWGN信道步骤6:添加接收端处理步骤7:添加解调模块步骤8:计算误码率(BER)步骤9:添加显示模块步骤10:设置仿真参数步骤11:运行仿真并分析结果四、总结 全双工(Full-Duplex)无线通信技术允许在同一频段上同时进行数据的发送和接收,这与传统的半双工(Half-

MHD0815的博客 180

STM32入门教程:图像处理

然后,我们使用 STM32 的 DSP 模块中的 arm_mean_u8 函数计算原始图像的平均值,并将结果存储在 meanValue 变量中。然后,我们需要编写代码配置 STM32 的外部中断输入引脚,并在中断处理函数中读取 OV7670 摄像头模块输出的图像数据。然后,我们需要编写代码配置 STM32 的 USB OTG 接口,并在回调函数中读取 USB 摄像头输出的图像数据。一、图像采集 图像采集是图像处理的第一步,我们需要将外部图像源的数据导入到 STM32 中进行处理。

2401_85625565的博客 1616

Python教你一键获得【王者荣耀全皮肤】~~~

额,不好意思标题后面少了"高清壁纸"几个字,既然进来了也应该不亏,本文一键撸取427张王者荣耀皮肤高清壁纸并且打包好了,文末查看获取方式。并且手把手教你撸取所有壁纸的全过程。 开篇 前几天看到同事的桌面壁纸是王者荣耀的炫酷后羿皮肤,觉得十分帅气,于是想自己也弄一个,可是王者皮肤这么多一个个点网页找太费劲,何不一把撸下来一起看呢,于是想着把所有的英雄皮肤都下载到本地的一个目录下面慢慢选多好,说干就干…那我们就开始吧。 网页分析 首先,我们进去王者荣耀官网,点进“英雄资料”界面: 按F12打开调试台,随便点击

阿旭的博客 1415

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python爬虫:下载4K壁纸

🎁🎁创作不易,关注作者不迷路🎀🎀我们经常想要寻找一些高清的壁纸,图片作为素材(为优快云博客找一张吸引读者的封面🤣),然而一张一张的下载太慢了,因此为了提高工作效率, 我们可以采用爬虫的方式,快速下载图片。

神的博客 9392

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python网络爬虫_教你用Python网络爬虫获取壁纸图片

/1 前言/想要电脑换个壁纸时都特别苦恼,因为百度搜到那些壁纸也就是分辨率达到了壁纸的水准。可是里面图片的质量嘛,实在是不忍直视…。而有些4K高清的壁纸大多是有版权的 ,这就使我们想要获取高清的图片,变得非常的困难。 wallhaven 网站是无版权的4K壁纸 ,而且主题丰富(创意、摄影、人物、动漫、绘画、视觉),今天教大家如何去批量的去下载wallhaven4K原图。/2...

weixin_39743695的博客 112

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python网络爬虫快速下载4K高清壁纸

python网络爬虫快速下载4K高清壁纸 此处给出下载壁纸的链接地址彼岸图网,进入网站之后,我们看到可以下载风景,游戏,动漫,美女等类型的4K图片,装逼一下,re库有贪婪匹配,那我们就写一个通用代码来下载网站全部的图片。 1. 观察页面布局,获取页面源代码 打开彼岸图网的链接之后,进入开发者模式,快捷键为(Fn + F12),观察网页源代码发现,我们所要解析的图片都存放在了body标签下面的<div,class = “wrap clearfix”>中的<div , class = “

qq_42372829的博客 1392
上一篇: 一个全网最详细 Python 教程,不信你来学一学!
下一篇: 通俗的讲,网络爬虫到底是什么?
智泊AI官方
博客等级 码龄6年 8637粉丝 2667原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值