资讯专栏INFORMATION COLUMN

Dese:将 JSON API 中图片作为 Windows wallpaper

高璐 / 1272人阅读

摘要:如的,百度图片的,爱壁纸的以及的。则接收和字段一样的参数,从中获取文件名则是以下载图片时的时间时间戳作为文件名。这个字段在为或时必须填写可为空字符串。表示需要从文件名中剔除的字符,这是为了防止特殊字符在系统中造成乱码。

简介

Github 项目 pywallpaper。可以将大多数的 JSON API 中的图片链接作为自己的 Windows wallpaper,现已经包含以下网站图片的配置文件:

bing每日一图

百度图片

Unsplash

爱壁纸

NationalGeographic国家地理

虽然现在网上各种设置背景的软件数不胜数,但是又有几个是不会在后台悄悄运行或者跳出广告的呢?开发这个软件一是为了在学 Python 时练手,增加动力;二是想要一个可配置的、具有大量高质图片资源、运行完就干干净净退出的程序。

注:不可将其用于任何的商业目的!

以下是项目 README.md, 程序员都是比较懒的哈哈

Dese

Windows 上可自动设置背景桌面的小程序。

使用方法

可使用PyInstaller进行打包

方法一

双击运行 Dese.exe

方法二

命令行切换到当前目录后,输入以下命令:

python main.py

即可运行。

进阶配置

图片来源是可以通过配置文件进行配置的,以下是配置文件所有字段的定义:

字段 可选值 描述
api_url 任意 一个可以获得 JSON 格式的 API URL
picture_url_locat "key"、"[number]"、"[start~end]" 一种 JSON 位置的表述方式
name_type "url"、"time"、"json" 图片文件的命名方式
name_exclude_char 任意字符 图片名称中需要去掉的字符
name_fill_char 任意字符 去掉字符时可选择用此值来填充
wallpaper_fill_type "fill"、"fit"、"Stretch"、"tile"、"center"、"span" 背景填充方式
picture_store_path 相对目录 如 "pics" 或绝对目录 如 "E:/wallpaper" 背景图片存放目录,可为相对目录或绝对目录
picture_postfix 任意后缀或者为空 下载图片时的后缀,如果所选择的命名方式中不存在后缀则在此添加
api_url

这个是 API 的地址,要求必须是返回 JSON 格式的数据。如 bing 的 API,百度图片的 API,
爱壁纸的 API 以及 Unsplash 的 API。

picture_url_locat

一种特殊的 JSON 对象选择描述方式,例如以下 JSON 对象:

{
    "name": "baidu",
    "data": [
        {
            "url": "http://baidu.com/xxx1.jpg",
            "level": "6"
        },
        {
            "url": "http://baidu.com/xxx2.jpg",
            "level": "2"
        },
        {
            "url": "http://baidu.com/xxx3.jpg",
            "level": "2"
        }
    ]
}
picture_url_locat 效果
"name" 获取 name 的值,也就是 baidu
"data [0] url" 获取 data 数组中索引为 0 的元素的 url 字段值,此处即获得了 http://baidu.com/xxx1.jpg 这个 URL
"data [0~2] url" 获取 data 数组中索引为 02随机数元素的 url 字段值,在这里我们只能确定他最终获取的是一个 URL

简单吧?

name_type

命名的类型,总共有三种方式:urljsontime

url 是截取图片下载链接最后
一部分作为文件名(在最后一个/之后,?之前),如选择的图片链接为 http://baidu.com/xxx1.jpg?size=2k,则截取到的文件名为 xxx1.jpg

json 则接收和 picture_url_locat 字段一样的参数,从 json 中获取文件名

time 则是以下载图片时的时间(时间戳)作为文件名。

name_exclude_char

这个字段在 name_typejsonurl 时必须填写(可为空字符串 "")。表示需要从
文件名中剔除的字符,这是为了防止特殊字符在 Windows 系统中造成乱码。多个字符直接连在一起
即可,如:我要去除文件名中的 @# 符号,name_exclude_char 的值就应为 "@#"

name_fill_char

此字段在 name_exclude_char 字段填写后生效,当 name_exclude_char 中规定的字符被剔除时,会使用当前字段定义的字符来填充。如:

原始文件名为:12315*43@2.jpgname_exclude_char 值为 "*@"name_fill_char
值为 __,则最为后的文件名为 12315__43__2.jpg

wallpaper_fill_type

背景的填充方式,对应 Windows 10 设置->个性化->背景->契合度 中的值。默认为 fill

picture_store_path

图片的存放路径,默认为 pics, 绝对目录以及相对目录均可。如 E:/wallpaper注:路径用 / 分隔而不是 。

picture_postfix

图片名字的后缀,如果你的图片下载链接中不存在文件后缀(如 htt://baidu.com/xxx1),
或者 name_type 选择的是 time ,则需要将此字段填写为 ".jpg"。不过如果你的文件名中已有
后缀(如 http://baidu.com/xxx1.jpg),则将此字段的值设置为 ""。此字段不可省略。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38443.html

相关文章

  • bilibili壁纸站-node爬虫

    摘要:前言之前初学的时候,有用爬虫爬过一些磁力链接详情见羞羞的爬虫但是没有并发,没有代理,那时也对异步不是很了解所以这次又写了个爬虫,爬取壁纸站的所有壁纸并且爬取开心代理的条,并将有用的存进文件中用到的模块控制并发解析库使用代理读写文件其中的具 前言 之前初学node的时候,有用爬虫爬过一些磁力链接详情见羞羞的node爬虫但是没有并发,没有代理,那时也对异步不是很了解所以这次又写了个爬虫,爬...

    sf_wangchong 评论0 收藏0
  • 微信小程序:入门基础教程

    摘要:准备工作要开发微信小程序之前,需要做一些准备工作,首先进入然后再进入,接下来就解压源码包和安装微信开发工具,安装好开发软件之后,在桌面可以看到然后点击进入需要手机微信扫码确认登录,扫码完之后选择本地小程序项目选择添加项目之后如果想要学习一下 准备工作 要开发微信小程序之前,需要做一些准备工作,首先进入https://mp.weixin.qq.com/debu... showImg(ht...

    lemanli 评论0 收藏0
  • 70行python代码实现壁纸批量下载

    摘要:整理一下,完整的函数长这样批量运行上述的步骤仅仅能够下载第一个壁纸列表页的第一张壁纸。 项目地址:https://github.com/jrainlau/w... 前言 好久没有写文章了,因为最近都在适应新的岗位,以及利用闲暇时间学习python。这篇文章是最近的一个python学习阶段性总结,开发了一个爬虫批量下载某壁纸网站的高清壁纸。 注意:本文所属项目仅用于python学习,严禁...

    draveness 评论0 收藏0

发表评论

0条评论

高璐

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<