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

一、为什么想下载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:
            
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值