使用python下载wallpaper Engine订阅的壁纸/视频

RePKG解包.pkg文件【Wallpaper Engine 参考链接: 什么是 PKG 文件扩展名? Wallpaper Engine 订阅的图片壁纸中图片如何提取? 在wallpaper engine上如何在不改变壁纸及所带特效的基础上改变BGM? 超级简单的 pkg 解包教程 Wallpaper engine PKG/TEX extractor RePKG.exe - 点击并下载图片把后缀名 png 改 zip,解压即可 用 RePKG 解包 .... 阅读详情

一、为什么想下载wallpaper Engine的壁纸

  在游戏平台steam上,有一个壁纸软件wallpaper Engine,人称小红车,里面有各种好看的动态壁纸和视频,可以给我们的电脑设置动态桌面,非常好用。
  用过几次后,我有了一些痛点,就是软件只能启动的时候才有这个桌面壁纸(当然这非常合理),但是我很喜欢这张壁纸,希望开机后,或不启动steam和wallpaper Engine的时候,也可以用这个壁纸当桌面。
  同时有些视频我很喜欢,但是又不想当壁纸,就想下载下来放到其他文件夹里,所以就产生了这个需求,把wallpaper里面的壁纸和视频下载一下。
wallpaper Engine
动态壁纸展示

二、 这些代码能做到什么

  在有了下载的想法以后,我着手研究起来,首先我想下载的是:壁纸和视频,视频文件的话还好说,在本地的文件夹里就有,但是壁纸文件时pkg封装好的,因为很多壁纸里有一些动态效果,这个应该是它的统一格式。
在这里插入图片描述

  于是我在网上找到了大佬写的解包exe程序
  repkg包地址:https://github.com/notscuffed/repkg/releases
  根据这个程序,我进行了二次开发,可以批量的解压pkg的图片,然后放入必定文件夹中,加入了一些去重、重命名的功能,以及可以指定白名单不加入下载队列中。
在这里插入图片描述

三、代码展示和下载

  这里我给出了我的代码仓库地址,github和gitcode,具体使用方法在readme文件中有介绍。
https://gitcode.net/CCGGAAG/Python
https://github.com/CCGGAAG/wallpaper_download

  这里要注意的是,直接复制我的代码不能跑,因为缺一个repkg.exe,从我上面给出的仓库地址下载就行了。

# -*- coding:utf-8 -*-
import os
import shutil
import yaml
import hashlib
import random


class CopyWallpaper:

    def __init__(self, steam_url, copy_dir):
        """
        类的初始化,两个地址必需传递为本地电脑的绝对路径
        :param steam_url: wallpaper的数据文件夹,例如:D:/**/Steam/steamapps/workshop/content/431960
        :param copy_dir:  你要转移存储文件的地址
        """
        self.steam_url = steam_url
        self.copy_dir = copy_dir
        self.file_format = [".mp4", ".MP4", ".MOV", ".mov", ".avi", ".AVI",  ".webm", ".WEBM", ".pkg"]
        self.video_format = [".mp4", ".MP4", ".MOV", ".mov", ".avi", ".AVI", ".webm", ".WEBM", ".mp3"]
        self.pkg_file_format = [".png", ".PNG", ".jpg", ".JPG", ".jpeg", ".JPEG", ".gif", ".GIF"]
        if "img" not in os.listdir(self.copy_dir):
            os.makedirs(self.copy_dir + "/img")

    def get_repkg_img(self, list_pkg):
        """
        通过本地的pkg文件地址列表,将pkg解压后的图片文件移动到指定文件夹(copy_dir)下
        :param list_pkg: 本地的pkg文件地址列表
        :return:
        """
        pkg_path = os.getcwd() + "/repkg"
        base_driver = pkg_path[0]
        for i in list_pkg:
            if "dispose" not in os.listdir(</
逆向工程实战:深度解析Wallpaper EngineRePKG文件格式与解包工具开发 二进制文件格式是软件存储和交换数据的核心方式,理解其结构是进行软件分析、数据提取和工具开发的基础。通过解析文件头、索引表和数据区等通用结构,可以掌握资源封装、压缩和校验的原理。这种技术对于软件安全分析、游戏模组制作、资源提取等场景具有重要价值。本文以Wallpaper Engine的动态壁纸包为例,聚焦其专用的RePKG格式,详细阐述了从静态十六进制分析到动态调试验证的完整逆向工程方法论。通过Python实战,演示了如何编写一个能够处理zlib和lz4压缩算法的解包工具,为学习二进制文件解析和资源管理提供了 阅读详情

相关推荐

wallpaper壁纸

wallpaper壁纸

RePKG:解锁Wallpaper Engine资源宝库的终极工具

你是否曾对Wallpaper Engine中精美的动态壁纸资源感到好奇?是否想提取这些资源用于自己的创作项目?RePKG正是你需要的开源解决方案!这个基于C#开发的工具能够高效提取PKG打包文件,并将TEX纹理格式转换为通用图像格式,为壁纸创作者和游戏开发者提供了强大的资源处理能力。 ## 为什么需要RePKG?解决开发者的三大痛点 ### 痛点一:封闭格式的壁垒 🚧 Wallpaper

gitblog_01081的博客 228

wallpaper engine steam Windows离线版

创意工坊无法访问,但可以通过导入自己喜欢的壁纸,后续有博客教授从专门网站下载壁纸文件,放入projects文件夹下的defaultprojects文件夹

探索技术创新:Wallpaper Database —— 自定义壁纸的宝藏库

探索技术创新:Wallpaper Database —— 自定义壁纸的宝藏库 如果你是喜欢个性化桌面背景的科技爱好者,那么项目绝对值得你一试。这是一个开源项目,旨在提供一个海量、多样化的壁纸数据库,让你轻松找到并下载符合个人品味的高清壁纸。 项目简介 Wallpaper Database 是一个基于Web的应用,它以数据库的形式存储了大量的壁纸资源,涵盖了各种类别和分辨率。用户可以通过搜索关键词、...

gitblog_00066的博客 666

Wallpaper Engine 提取/导出原壁纸

本教程基于大佬制作的pkg解压项目,为介绍了 Wallpaper Engine 中的原壁纸的简单提取。

Aiden的笔记本 6万+

逆向工程Wallpaper Engine资源包:从PKG格式解析到RePKG工具实战

资源打包与文件格式是软件工程中管理多媒体资产的核心技术,它通过自定义的二进制容器格式,在资源保护、加载效率和存储优化之间取得平衡。其原理通常涉及文件头、索引表和数据块的结构化设计,结合哈希映射与快速压缩算法,以实现高性能的实时资源加载。这项技术的价值在于为应用提供稳定高效的资源供给,是游戏、动态桌面等富媒体应用的基石。在动态壁纸等应用场景中,深入理解资源格式有助于进行故障排查、资源迁移和技术研究。本文以Wallpaper Engine的PKG格式为例,探讨其逆向工程方法,涉及**静态分析**与**动态调试*

weixin_30905133的博客 388

5分钟掌握AutoWall:让Windows桌面焕发活力的开源动态壁纸神器

厌倦了千篇一律的静态桌面背景?想让你的Windows桌面像科幻电影一样充满动感与活力?AutoWall正是你寻找的解决方案。这款基于AutoIt开发的开源动态壁纸工具,能够将视频、GIF动画和网页内容无缝设置为桌面背景,为Windows 7/8/10/11系统带来前所未有的视觉体验。通过简单的几步操作,你就能让单调的桌面"活"起来,创造出个性化的工作和娱乐环境。 ## 为什么选择AutoWall

gitblog_00221的博客 361

桌面美化工具高级玩法:从VibeCoding到系统化主题构建

桌面美化工具的核心价值在于将动态视觉效果从简单的装饰转变为智能的工作流辅助。其底层原理是通过事件驱动架构,将系统状态、用户行为等输入源转化为可视化的输出反馈,实现状态的可视化。这种技术不仅能提升桌面美观度,更重要的是能通过自定义配置和脚本扩展,将工具深度嵌入日常工作流程,成为提升效率的智能伴侣。在应用场景上,它可以作为编码状态指示器、消息聚合中心,甚至跨工具联动的信息枢纽。本文以VibeCoding为例,深入探讨如何通过事件-条件-动作响应链条、配置文件解析、脚本扩展等高级技巧,实现从单点炫技到构建统一桌面

weixin_30516243的博客 361

提取 Wallpaper Engine 的 pkg 壁纸文件,获得静态壁纸

一、下载 RePKG GitHub 地址 或自行百度下载 二、使用下载好的 RePKG.exe 放到任意文件夹中,并在其同目录下新建一个 output 文件夹 在上述目录的空白处,按住 Shift + 右键 ➡️ 在此处打开 Powershell 窗口 在 Powershall 窗口中,输入 .\RePKG.exe extract 打开 Wallpaper Engine 选择对应的壁纸,右键 在资源管理器中打开 将壁纸文件夹中的 scene.pkg 直接拖到 PowerSh

记录 3万+

老绅士才懂的Wallpaper免费使用方法3.0

Wallpaper对很多朋友来说,应该是世界上最好的动态壁纸软件了吧~懂得LSP绅士们相信早就入手了,这里给未体验过的小伙伴带来两种白嫖方法之前分享过两次都失效了,主要是获取创意工坊壁纸的渠道容易失效,今天再给大家分享两个。...

weixin_42793435的博客 9万+

【免费下载RePKG安装与配置完全指南

RePKG安装与配置完全指南 项目基础介绍 RePKG是一款专为Wallpaper Engine设计的强大工具,由C#编写的开源软件。它能够实现Wallpaper Engine使用的PKG文件的提取以及TEX文件转换成图像格式的功能。通过这个工具,用户可以轻松地访问并导出游戏中的自定义壁纸资源,便于进一步的个性化编辑或备份。 主要编程语言与关键技术 主要编程语言: C# 关键技术点: PKG...

gitblog_09019的博客 9997

python爬虫爬取wallpapers最新壁纸

详细教程请访问:

qq_43985303的博客 948

wallpaper engine 自动下载/同步之前已经删除/取消订阅壁纸/视频

wallpaper engine 自动下载/同步之前已经删除/取消订阅壁纸/视频

chen_tian_sheng的博客 4万+

wallpaper Engine 安装教程

今天在网上看到了一个软件wallpaper Engine。效果太酷炫了。就买了个来试试,效果是很棒。但是缺点是无法和桌面管理工具兼容,例如Fences,如果要二者兼得,则必须要PS辅助。 运行环境:Windows7 Wallpaper Engine安装过程 访问STEAM网站下载客户端并安装,注意一定要安装在系统盘: http://store.steampowered.com/ 在客户端

宫爆鸡丁要加花生的博客 2万+

【安卓笔记】wallpaper设置系统主页墙纸的一种方法

一种android开发设置系统桌面背景的方法

m0_49256730的博客 1379

wallpaper代码_70 行 python 代码实现壁纸批量下载

好久没有写文章了,因为最近都在适应新的岗位,以及利用闲暇时间学习python。这篇文章是最近的一个python学习阶段性总结,开发了一个爬虫批量下载壁纸网站的高清壁纸。注意:本文所属项目仅用于python学习,严禁作为其他用途使用!初始化项目项目使用了 virtualenv 来创建一个虚拟环境,避免污染全局。使用 pip3 直接下载即可:pip3 install virtualenv复制代码然后...

weixin_39517868的博客 3985

wallpaper使用教程,从注册到安装

wallpaper是一款动态壁纸软件,而其壁纸品质可以说是好评如潮。售价19元,就可以让你的电脑桌面焕然一新,我觉得很值。 坦白说,刚知道这款软件时,当时连它在哪下载的都不知道。而我想,应该会有挺多伙伴会跟当初的我一样,所以就打算简单地写下:wallpaper从购买到安装以及简单使用的步骤。 购买wallpaper我们可以通过steam买,所以首先先注册个steam帐号。如果你已经有帐号,显然已经不需要看这个小白教程了。打开steam官网,右上角下载安装包。官网地址:https://store.steam

dnmjun的博客 2万+

推荐一个跨平台的桌面壁纸管理神器:wallpaper

在数字生活的时代,个性化你的电脑桌面已经成为一种时尚表达。今天,我们向大家推荐一个强大的开源工具——[wallpaper](https://github.com/sindresorhus/wallpaper),这是一个可以在macOS 10.14.4+、Linux和Windows 10+上运行的库,让你轻松获取或设置桌面壁纸。 ## 项目介绍 wallpaper是一个基于JavaScript的...

gitblog_00001的博客 1161
上一篇: 关于web安全测试在功能测试中的应用
下一篇: python总结:关于pip命令的一切,到底怎么用?
许西城
博客等级 码龄11年 532粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值