自从学会了Python,我实现了壁纸自由(6)

news2024/9/29 5:26:53

小朋友们好,大朋友们好!

我是猫妹!

哈哈哈,又到周末啦!

这周过得怎么样?

马上就要开学了,寒假作业早已写好了吧?

开学让人兴奋,上了很久网课都要吐啦!

开学也让人有点小焦虑,不能睡懒觉啦!

平时还是有点小爱好比较好,比如Python,给生活加点乐趣!

今天聊聊用Python实现壁纸下载,本文有很多漂亮壁纸哦!

轻松搞定100张壁纸

先看效果,感兴趣,再继续看。

这是猫妹从网上下载的100张壁纸,如果想要更多,修改个参数即可。

我们打开几张动物为主题的壁纸欣赏下吧!

原图很清晰,需要原图的话可以自行下载,或联系猫妹。

这会儿,已经有不少小伙伴亟不可待了

代码呢?

怎么实现的?

看这里:

import requestsfrom pathlib import Path​defsave_pic(path:Path):for i in range(100):        print('*',end=' ')        url = f"http://bingw.jasonzeng.dev?resolution=UHD&index={i}"with requests.get(url) as r:with open(path/f"{i}.jpg","wb") as w:                w.write(r.content)​​if __name__ == "__main__":    saved_path = Path("./和猫妹学Python")    saved_path.mkdir(parents = True, exist_ok = True)    print('下载中')    save_pic(saved_path)    print('\n下载完成')

代码就是这么简洁,逻辑也不复杂。

  1. 建立一个文件夹

  1. 从网上特定API下载图片

  1. 下载完成

关键代码

代码用到了两个库Path和requests。

Path

Path模块提供表示文件系统路径的类,其语义适用于不同的操作系统。

我们这里知道它是建立了一个文件夹即可。

Path API详解见:

https://path.readthedocs.io/en/latest/api.html

requests

requests是大名名鼎的爬虫库。

如果没有安装requests库,先用pip install指令安装下requests库。

我们是通过爬虫来下载壁纸的,所谓爬虫就是用代码解放了我们的双手。

我们先用双手下载一张壁纸试试,随便打开一个网址,图片另存为即可。

http://bingw.jasonzeng.dev?resolution=UHD&index=1

  1. resolution指定壁纸图像的分辨率,默认1920x1080,取值如下:

UHD,高清

1920x1200

1920x1080

1366x768

1280x768

1024x768

800x600

800x480

768x1280

720x1280

640x480

480x800

400x240

320x240

240x320

  1. index表示获取哪一天的图片,0 表示今天,1 表示昨天,以此类推,index=random 表示随机一天。

  1. date表示获取从某某一天到今天的图片,比如 data=20230211。

http://bingw.jasonzeng.dev?resolution=UHD&data=20230211

  1. w和h表示指定图片的宽度和高度。

http://bingw.jasonzeng.dev?w=240&h=320&data=20230211

  1. qlt表示指定图片的质量,取值范围是 0 到 100,100最清晰

http://bingw.jasonzeng.dev?qlt=100&data=20230211

免费群、收费群

猫妹计划组建一个免费群,一个收费群。

面向小朋友等初学者,提高动手能力。

你有什么建议吗?

感兴趣可以主动联系猫妹哦!

好了,今天的分享就到这里,谢谢朋友们的阅读。

我是猫妹,咱们下次见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/339309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTPS为什么就安全了?或者说要安全我们要做到什么?

目录 一 安全概念 二 HTTPS的安全措施 三 总结 一 安全概念 网络安全是一个比较笼统的概念。我们说网络安全的时候,往往会包含很多安全问题,包括网络设备层面、通信过程、数据本身等多方面引入的安全问题。比如设备被有意无意的破坏,链路…

【C/C++基础练习题】简单函数练习题

🍉内容专栏:【C/C要打好基础啊】 🍉本文内容:简单函数使用练习题(复习之前写过的实验报告) 🍉本文作者:Melon西西 🍉发布时间 :2023.2.11 目录 1.给定某个年…

右键菜单管理 - Win系统

右键菜单管理 - Win系统前言软件工具管理右键菜单360右键管理右键管家前言 Windows系统可以借助软件工具对右键菜单进行管理,可对指定的右键菜单进行删除和恢复。下面以Win10系统为例介绍管理方法。 注意:使用本文提及的工具将某软件的右键菜单删除后&…

电子货架标签多种固定方式

2.1寸和2.9寸电子价格标签多种固定方式: 1、桌面支架,放置在桌面或是货架上,用于桌面产品的价格或是信息显示 2、粘贴架,方便用于墙面桌面等应用 3、半透明支架,用于货架上的商品吊挂显示价格信息 4、轨道架&#xff…

1489车厢调度(train)(栈)

目录 题目描述 解题思路: 代码部分: 题目描述 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合。假设从A方向驶来的火车有n节(n≤1000)&…

使用动态参数构建CUDA图

文章目录使用动态参数构建CUDA图使用显式 API 调用构建 CUDA 图使用流捕获构建 CUDA 图组合方法执行结果总结使用动态参数构建CUDA图 自从在 CUDA 10 以来,CUDA Graphs 已被用于各种应用程序。 上图将一组 CUDA 内核和其他 CUDA 操作组合在一起,并使用指…

shell编程之sed

文章目录八、shell编程之sed8.1 工作原理8.2 sed基本语法8.3 模式空间中的编辑操作8.3.1 地址定界8.3.2 常用编辑命令8.4 sed扩展八、shell编程之sed 8.1 工作原理 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用&…

图----无向图

1.定义 图的定义:图是由一组顶点和一组能够将两个顶点相连的边组成 边:edge 顶点:vertex 连通图:如果从任意一个顶点都存在一条路径到达另外一个任意顶点,我们称这幅图是连通图。 非连通图:由若干连通的…

【Python】tkinter messagebox练习笔记

我一好友在朋友圈看到人家用代码花式秀恩爱,让我也做一个,我就用我学习半年python的功力,做了这一个东西。🙏窗口主页面(图一)为了让我这个盆友有颜面,特意做了一个问答问他帅不帅,以…

Active Directory 02 - Windows Kerberos Authentication(Kerberos 协议鉴权)

写在最前 如果你是信息安全爱好者,如果你想考一些证书来提升自己的能力,那么欢迎大家来我的 Discord 频道 Northern Bay。邀请链接在这里: https://discord.gg/9XvvuFq9Wb我会提供备考过程中尽可能多的帮助,并分享学习和实践过程…

从0到1一步一步玩转openEuler--11 openEuler基础配置-设置磁盘调度算法

11 openEuler基础配置-设置磁盘调度算法 文章目录11 openEuler基础配置-设置磁盘调度算法11.1 设置磁盘调度算法11.1.1 临时修改调度策略11.1.2 永久设置调度策略11.1 设置磁盘调度算法 本节介绍如何设置磁盘调度算法。 11.1.1 临时修改调度策略 例如将所有IO调度算法修改为…

js逆向-某头条_signature参数

前言 头条的加密参数_signature其实可以通过搜索来直接定位到关键位置,我们换种定位的方法 定位 先查看下堆栈,直接在第一个XMLHttpRequest.send的位置下上断点,然后下拉触发断点 这个位置还有其他请求,这里只看/api/pc/list…

2023 AIME 答案与解析 - 第二期(完结)

原题目 Find the number of cubic polynomials where and are integers in such that there is a unique integer with 绿树教育中心独家解析 是一个有两个整数根的三次方程,因此它有三个整数根。所以, 或 ,其中 。 「Case 1」 ,则…

关于spring bean的生命周期的个人理解(根据官方文档学习)

首先说一下Servlet的生命周期:实例化,初始init,接受service,销毁destroy; spring上下文中的Bean 生命周期也是类似,如下: (1)实例化Bean 对于Bean Factory容器&#xf…

elasticsearch更新和删除

文档更新文档的更新经历三个步骤,检索、修改、重新索引部分更新在原有文档已经存在的情况下,可以对原有的文档部分字段更新,使用POST请求,发送到/_update如果文档是不存在的,更新操作是失败的存在则更新,不…

Qt C++ 自定义仪表盘控件02

简介仪表盘是工控领域不可缺少的一类软件UI元素,通常出现在各类电子看板软件上,以及一些高级的上位机软件界面上,目的是将繁杂的数据转化为可视化的图表能大幅提高后台管理效率。本文分享了几个经典常用的仪表盘控件,在项目中可以…

利用升序定时器链表处理非活动连接

参考自游双《Linux高性能服务器编程》 背景 服务器同常需要定期处理非活动连接:给客户发一个重连请求,或关闭该连接,或者其他。我们可以通过使用升序定时器链表处理非活动连接,下面的代码利用alarm函数周期性的触发SIGALRM信号&a…

半人半妖时代来啦

未来是半人半妖时代!!! 碳基生命与硅基生命结合 趣讲大白话:人和机器结合是大趋势 *********** 人工智能就是宗~教 科技宗~教的一支最强势的教派 日常使用智能机器的人就是信众 维护机器的人就是牧师 创造这…

【mock】手把手带你用mock写自定义接口+mock常用语法

mock自定义接口完整流程 官网语法规范:https://github.com/nuysoft/Mock/wiki/Syntax-Specification 首先: 要有一个项目,我这里是vue3项目,以下从vue3项目搭建开始,已搭建好的请直接看2 1.空目录下新建vue3项目 运行创建项目命令: 在bash中:(文件路径处输入cm…