python实现动态壁纸_python学习笔记 | macOS Big Sur动态壁纸食用指南

目录

前言

北京时间23日凌晨1点,苹果WWDC2020大会开幕。在发布会上,苹果正式发布了新版macOS,并将其命名为“Big Sur”。

1846139-20200627220013447-1628227556.jpg

相比于外界争议最大的UI界面,令我更为关注的是这次的系统动态壁纸,跟过去几年的版本更新一样,这次的macOS系统版本命名也取自自然景点的名字,即“Big Sur”,好像是在加州西海岸的一个景点,而且这一版动态壁纸依然支持根据时间变化进行明暗的切换,总之很好看就对了,超想要的!于是我开始在网上寻找最新的这一版本动态壁纸,幸运地,最后让我找到了这个神奇的网站:

需要注意的是,这个网站需要科*上网才能打开,并且需要登录才能查看网页包含的动态壁纸

1846139-20200627222002796-406998742.png

登录进去之后,在首页Gallery选项的位置,可以看到不仅有最新的Big Sur壁纸,还有许多macOS支持的动态壁纸,有很多还是5k级别的质量,点进去之后就可以找到下载壁纸的按钮

1846139-20200627221923146-1138996494.png

下载流程很简单,基本下载到本地就可以为我们所用了

除了最新的这款壁纸,网站里很多精美的壁纸也很值得一试

这个时候我又想,这么多壁纸要是一个个下载得多麻烦,要是有什么方法能够一下子把所有的壁纸下载下来就舒服了!

爬虫篇

好久没有写爬虫程序了,练练手

(这里比较长,可以直接跳到这里获得壁纸资源:壁纸使用篇)

首先还是上一张图的位置,在点击下载按钮的同时,我通过浏览器的开发者工具捕获到这些请求:

1846139-20200627223325166-2065728343.png

点开下面这一条请求,发现它是这样的

1846139-20200627223717052-165182244.png

接着复制这条请求的url,粘贴到浏览器地址栏,这个时候壁纸马上进行了下载,于是现在我们可以确定:

这条请求就是这张big sur壁纸的真实下载链接!

https://firebasestorage.googleapis.com/v0/b/dynamic-wallpapers-6a7ab.appspot.com/o/wallpapers%2Fdgvrihxpu2h%2FBig%20Sur.heic?alt=media&token=38f034ba-5ebb-4891-b483-35f0a82476cd

按照以往的经验,一般同一网站下的同一格式的资源,其链接都会遵循同一规则或方法来进行命名

也就是说

我们可以通过这条链接,找到跟其他壁纸链接同样的命名规律,进而得到其他所有壁纸的真实下载链接!

说干就干

现在让我们来分析一下这条请求

首先从前到后,一直到wallpapers这里,都没有出现一些特殊的符号或字段,预估这些应该都是需要加上的字段,并且不是唯一的

经过反复的测试,我发现包括其他的壁纸在内,其实所有的下载链接不同点就在于这三个地方:

https://firebasestorage.googleapis.com/v0/b/dynamic-wallpapers-6a7ab.appspot.com/o/wallpapers%2Fdgvrihxpu2h%2FBig%20Sur.heic?alt=media&token=38f034ba-5ebb-4891-b483-35f0a82476cd

token

最先发现的是最后一个字段,由于“token”这个字眼真的太明显了,按照经验基本可以确定这是一个唯一参数

name

再往前看,到“Big%20Sur”这里,很容易地发现这是壁纸的名字(其实我观察了很久才发现

比较特别,有个“%20”,原因是名字中间的空格被“%20”这个字符串替代了

id

最后一个参数也是最难发现的,最后通过比对首页壁纸列表的网页源代码,我发现这个字段是存在在每个壁纸的跳转链接中的

在此暂时称这个参数为壁纸的id

1846139-20200627231145645-372597162.png

ok,前两个参数(id,name)我们已经了解了来龙去脉,比较容易获取,最后比较麻烦的是这个token

同样是在一开始big sur壁纸详情页面,复制真实链接中token的值,粘贴到开发者工具的搜索框,这个时候我发现可以匹配到几条包含token值的请求

1846139-20200627231839149-1603228682.png

点进去第一个,在右侧的请求返回信息窗口,最后一行可以找到token值“38f034ba-5ebb-4891-b483-35f0a82476cd”

1846139-20200627232043822-139279146.png

好家伙,原来藏在这!

现在我们可以得知,token值其实是通过访问这条请求,在返回的信息中获取到的,而且是“downloadTokens”键的值

这样一来就简单多了,我们只需要通过访问这条请求就可以拿到token值!

点开上面这条请求的headers选项,可以发现它的请求链接是这样的:

1846139-20200627233050164-1582038221.png

emmmm,是不是有点眼熟? 没错,里面包含的两个特殊字段都是我们之前见过的,一个是壁纸的id,一个是壁纸的名字name

获取三个参数(id,name,token)的相关代码:

1846139-20200627234303541-1528637077.png

到这里难点都基本解决了,后面就从首页的壁纸列表逐页爬取即可

网络请求用的是requests模块,文本解析用的是etree和正则表达式re,都是python源码自带的

1846139-20200701115226540-2007857667.png

开始爬取...

1846139-20200628002705009-37830618.png

牛逼,全部爬下来了!

壁纸使用篇

现在已经获取到了动态壁纸,即macOS支持的文件heic动态壁纸文件

设置壁纸的方法如下:

打开终端,输入「open /Library」,进入放置壁纸的文件夹:/Desktop Pictures

1846139-20200628003726658-23626387.png

将heic壁纸文件拖动到/Desktop Pictures文件夹下

桌面右键,设置桌面背景,即可设置下载的壁纸,效果如下:

1846139-20200628005819890-1900520795.png

awesome!

后记

后面可以加个按照壁纸分类来下载的功能,还有图形界面

不说了,做作业去了

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

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

相关文章

苹果5壁纸_冷高轮时间wallpaper Engine动态时钟壁纸 小人人体形状造型数字 手势数字 麻将数字 扑克数字 时钟壁纸...

冷高轮时间wallpaper Engine电脑动态时钟壁纸壁纸 小人人体形状造型数字 手势数字 麻将数字 扑克数字 动态时钟壁纸 1.需要在steam中下载wallpaper Engine 安装好wallpaper Engine后进入壁纸软件 1.点击创意工坊 2.搜索时钟全称(此时由于没选择标签可能指搜索出来一…

动态壁纸安卓_抖音上超火的时间轮盘动态壁纸,安卓苹果都可以设置!个性好看...

今天给大家分享一个最近很火的时间轮盘带姓氏的壁纸 效果呢就像我们现在看到的这样 看起来呢有点像古墓的感觉 同时我们常见的带姓氏的壁纸我也已经给大家准备好了 制作呢也非常的简单 我们只需要在微信的搜索页面搜索kx2687 点击搜一搜 点击进入 在下方的对话框中回复338 我们…

chatgpt赋能python:Python中的连接符:介绍与应用

Python中的连接符:介绍与应用 在Python编程中,连接符起着关键性的作用,它是连接不同代码部分的纽带。本篇文章将重点介绍几种常用的Python连接符。 一、加号连接符() 加号连接符最常见,用于连接不同的字…

JGJ107-2016 钢筋机械连接技术规程 免费下载

【资源介绍】 资源名称:JGJ107-2016 钢筋机械连接技术规程 资源分类: 建筑工程标准规范 其他简介:JGJ107-2016 钢筋机械连接技术规程 【资源下载】 链接:https://pan.baidu.com/s/1IZdTq2ga8V2psdek4UVQNA 提取码&#xff1…

钢筋的字体表示

1、把字体下载解压后,复制到控制面板的字体里面ok,打开word然后在开始\附件\系统工具\字符映射表打开然后在复制钢筋型号到word中就ok了2、先把字体COPY到windows/font文件夹里,在word中选用"SJQY"字体,然后点”插入/符号“里面有就钢筋的符号…

Revit:放置标高和轴网方法总结

本次系列教学中涉及到的建模方法在Revit2018和Revit2020均适用 首先使用快捷键“VV”,在“场地”下找到“项目基点”,该点表示在二维坐标系中的原点,坐标始终为(0,0),在三维坐标系同样表示原点…

通达信破底翻形态选股公式,选出破底之后再翻回的标的

破底翻形态,顾名思义就是跌破底部之后再翻回来。编写不带未来函数的形态类公式还是比较难的,理解也不容易。通过今天介绍的破底翻形态选股公式,希望能给大家一些思路。 一、FINDLOWBARS、FINDLOWBARS函数 1、FINDLOWBARS 含义:计…

LabVIEW2023中文版软件安装包、工具包、安装教程下载

下载链接:LabVIEW及工具包大全-三易电子工作室http://blog.eeecontrol.com/labview6666 《LabVIEW2023安装图文教程》 1、解压后,双击install.exe安装 2、选中“我接受上述许可协议”,点击下一步 3、点击下一步,安装NI Package …

如何拆分PDF,PDF拆分成多个PDF的方法

如何拆分PDF文件呢?我们想要将PDF文件拆分成多个PDF文件需要怎么操作呢?其实方法很简单,只不过需要使用到专业的PDF编辑器,下面小编就使用迅捷PDF编辑器为大家操作一下PDF拆分的方法。 操作软件:迅捷PDF编辑器 具体操作…

Acrobat如何将PDF拆分为多个文档

今天小e打算分享一个电子书,结果一上传准备发布外链的时候,居然超出了100M,只有会员才可以分享100M以上的文档或者软件,小e穷,没钱升会员,所以只能把这个完整的电子书拆分成两份,特把拆分的方法…

如何拆分PDF成单页?这三个方法分享给你

很多朋友在平时的工作中,经常需要处理一些PDF格式的文件,但是如果PDF文件的占用空间太大,难以进行操作处理,这时我们就需要先将其拆分成多个小文件,那你们知道要怎么把PDF拆分成多个文件吗?今天我就来给大家…

计算机存储介质清除工具,天桥科技存储介质信息消除工具

天桥科技存储介质信息消除工具是一款可清除存储介质信息的软件,此软件主要提供了数据粉碎、全盘粉碎、空间粉碎、痕迹清理、上网清除、介质清除等功能模块,可有效的帮助用户对电脑上或者U盘上的介质信息、存储数据等进行删除,相信现在的大多数电脑用户对于存储介质都是使用覆…

致《上网记录深度擦除工具》用户的说明

2014-08-27 12:00 补充更新 Blog好久不更新了,没想到两年前写的这个小程序使用的人还不少,但是一方面有不少人对这个工具的使用还存在一定误解,另一方面总有64位系统用户向我反应这个程序为什么在64位系统上无法使用?如何解决这个…

chatgpt赋能python:Python中的迭代器

Python中的迭代器 在Python中,迭代器是一种对象,它可以让我们可以遍历(或迭代)序列中的元素而不必了解它们如何存储在内存中。迭代器是Python中许多高级构造的基础 - 他们节省了空间,并且它们能够帮助我们更有效地处理…

chatgpt赋能python:Python中的转置操作:理解与实践

Python中的转置操作:理解与实践 在Python中,可以使用转置操作来将矩阵或数组的行和列交换位置。转置操作不仅在数学和统计学上有广泛应用,也在机器学习和数据分析领域中非常重要。在本文中,我们将深入探讨Python中的转置操作的基…

chatgpt赋能python:Python中语句太长之续行符的使用

Python中语句太长之续行符的使用 如果你是一位有10年Python编程经验的工程师,那么你一定会遭遇语句太长的问题。这是导致程序出错的常见问题。在很多情况下,一条语句的长度会超过Python规定的最大长度,这时候我们就需要使用续行符进行换行了…

iPhone 8快速充电技术简介,苹果再也不能被安卓嘲笑充电慢

这是一个好消息:9月12日发布的三款iPhone支持快速充电技术,日益广泛应用。 快速充电技术确实可以方便那些与智能手机相关的人。这里有一些关于快速充电技术和我们需要知道的事情。 什么是快速充电技术? 快速充电又称 快充,快速充…

无线充电比有线充电更慢吗?

Look, Apple is making wireless charging cool again with the iPhone 8, 8 Plus, and X. I’m glad! But there are things you should know about this technology—like how fast it’s going to charge your phone. You know, practical stuff. 瞧瞧,Apple正在…

苹果7支持快充吗_苹果12充电快吗 5-20W快充iPhone12充电时间对比

随着首批iPhone 12/12 Pro的上市,目前不少用户已经用上了新机。不过,由于iPhone12系列电池容量小是硬伤,续航差是用户普遍吐槽比较多的问题。好在,iPhone 12系列最高支持20W快充,在一定程度上缓解了续航差的问题。那么…

编码速度非常慢_非 iPhone12 用户谨慎购买苹果无线充电器,速度非常慢

磁吸无线充电器速率 苹果在推出 iPhone12 之后,也一同推出了支持磁吸功能的无线充电器 MagSafe ,就和 Apple Watch 的那个充电器原理是一样的,只是电流高达 15W 。 并且这个 MagSafe 充电器是苹果第一款支持 iPhone 的无线充电器,…