{"id":28319476,"url":"https://github.com/orion-zhen/wallpaper-engine-extractor","last_synced_at":"2025-08-18T18:04:31.729Z","repository":{"id":167779811,"uuid":"643406819","full_name":"Orion-zhen/wallpaper-engine-extractor","owner":"Orion-zhen","description":"一键批量提取wallpaper engine的壁纸(视频或 .pkg文件等), 并按作者和壁纸名存放","archived":false,"fork":false,"pushed_at":"2025-03-27T11:58:18.000Z","size":813,"stargazers_count":33,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-22T09:38:03.473Z","etag":null,"topics":["wallpaper","wallpaper-engine","wallpaper-engine-downloader","wallpaper-engine-software"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Orion-zhen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-21T03:58:19.000Z","updated_at":"2025-06-17T13:40:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa0739eb-005c-4788-9c4c-207662936c26","html_url":"https://github.com/Orion-zhen/wallpaper-engine-extractor","commit_stats":null,"previous_names":["orion-zhen/wallpaper-engine-extractor"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Orion-zhen/wallpaper-engine-extractor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orion-zhen%2Fwallpaper-engine-extractor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orion-zhen%2Fwallpaper-engine-extractor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orion-zhen%2Fwallpaper-engine-extractor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orion-zhen%2Fwallpaper-engine-extractor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Orion-zhen","download_url":"https://codeload.github.com/Orion-zhen/wallpaper-engine-extractor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orion-zhen%2Fwallpaper-engine-extractor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271035378,"owners_count":24688396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["wallpaper","wallpaper-engine","wallpaper-engine-downloader","wallpaper-engine-software"],"created_at":"2025-05-25T09:10:57.477Z","updated_at":"2025-08-18T18:04:31.719Z","avatar_url":"https://github.com/Orion-zhen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wallpaper-engine-extractor\n\n这是一个自动识别你订阅的壁纸, 并从创意工坊上爬取壁纸名和作者的脚本, 爬取完成后, 会将壁纸文件（视频或图片）按 `作者/壁纸名` 的目录提取到你指定的目标文件夹中. 其中, 对视频, 网页, 应用格式的壁纸仅复制, 对于静态壁纸的 `.pkg` 文件, 则使用 [RePKG](https://github.com/notscuffed/repkg) 提取内容后放入目标文件夹\n\n在脚本执行完后, 会在提取结果文件夹下生成一个 `metadata.json` 文件, 来记录成功爬取的壁纸的相关信息. 如果有爬取失败的壁纸, 会将其创意工坊ID存放在提取文件夹下的 `failed.json` 中, 你可以之后运行脚本爬取, 或是自行搜索处理\n\n\u003cdetails\u003e\n\u003csummary\u003echange log\u003c/summary\u003e\n\n- 2024/11/5: 🚀新增了简单的图形化界面, 更方便使用\n- 2024/11/5:\n  - 重写了传参逻辑, 现在不用去代码文件里更改参数, 可以直接在命令行中传入所有需要的参数了\n  - 完全重构代码, 重写了功能逻辑\n  - 增加了多进程功能, 默认使用全部CPU核心并行地爬取和提取壁纸\n  - 重写了历史记录和失败记录功能, 现在将会在输出文件夹下生成一个 `metadata.json` 文件来记录爬取的壁纸信息, 一个 `failed.json` 文件来记录爬取失败的壁纸信息\n- 2023/5/22: 可选命令行参数, 提取 `.pkg`文件后自动整理删除多余文件\n\n\u003c/details\u003e\n\n## 部署和使用\n\n有两种方式可以使用这个仓库, 图形化界面和命令行\n\n### 图形化界面\n\n**获取软件**:\n\n要使用图形化界面, 可以直接从[发布页面](https://github.com/Orion-zhen/wallpaper-engine-extractor/releases)下载 `wallpaper-engine-extractor.exe` 和 `RePKG.exe` 文件\n\n**使用软件**:\n\n双击打开 `wallpaper-engine-extractor.exe`, 此时将出现一个图形界面和一个命令行窗口. 图形界面如下:\n\n![gui-guide](./assets/gui-guide.png)\n\n依次点击按钮选择**创意工坊路径**, **提取路径**和 `RePKG.exe` 路径. 其中, `RePKG.exe` 的路径是你在下载软件时下载到的路径\n\n你可以通过移动滑块数量来更改并行数量, 默认情况下是全部的 CPU 线程数\n\n当一切妥当, 你可以点击**提取**按钮, 然后你会在命令行窗口中看到提取的详细情况. 当提取完成后, 会显示**运行完成**字样, 此时可以安全地关闭图形界面, 命令行窗口也会随之自动关闭\n\n### 命令行\n\n**获取代码**:\n\n直接下载压缩包或在命令行中执行\n\n```shell\ngit clone https://github.com/Orion-zhen/wallpaper-engine-extractor.git\ncd wallpaper-engine-extractor\n```\n\n**安装依赖**:\n\n```shell\npip install -r requirements.txt\n```\n\n**运行命令**:\n\n命令格式如下:\n\n```shell\nusage: main.py [-h] --input INPUT [--recover] --output OUTPUT [--parallel PARALLEL] [--retry RETRY]\n                                                                                                          \nWallpaper Engine 壁纸提取器\n\noptions:\n  -h, --help            查看用法\n  --input, -i INPUT     Wallpaper Engine workshop的路径\n  --recover, -r         是否恢复上次失败的任务\n  --output, -o OUTPUT   提取到的壁纸的保存路径\n  --parallel, -p PARALLEL\n                        并行处理数量\n  --retry RETRY         重试次数\n```\n\n简要格式:\n\n```shell\npython main.py -i \u003cworkshop路径\u003e -o \u003c壁纸提取路径\u003e\n```\n\n一个简单的例子:\n\n```shell\npython main.py -i \"C:\\Program Files (x86)\\Steam\\steamapps\\workshop\\content\\431960\" -o \"C:\\Users\\Username\\Pictures\\wallpapers\"\n```\n\n## 附注\n\n如果你wallpaper engine订阅的壁纸太多了, 以至于在新电脑上装一个wallpaper engine时需要花相当长的时间；或者你担心以前订阅的壁纸被下架了或删除了, 可以将wallpaper engine创意工坊备份一份到本地. 方法是：找到创意工坊的目录, 一般是 `path/to/your/steam/steamapps/workshop/content/431960`, 将431960这个文件夹复制到你的wallpaper engine安装目录下的 `projects`文件夹下, 一个典型路径是 `path/to/your/steamlibrary/steamapps/commom/wallpaper_engine/projects`, 然后将431690文件夹改名为 `backup`, 然后重启wallpaper engine, 取消订阅重复的文件就可以了. [具体参考这里](https://help.wallpaperengine.io/zh/steam/backup.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forion-zhen%2Fwallpaper-engine-extractor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forion-zhen%2Fwallpaper-engine-extractor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forion-zhen%2Fwallpaper-engine-extractor/lists"}