二次开发自 weme_downloader ,特别感谢 @DFX184 的开源贡献!
本项目基于原仓库进行了二次开发,实现了在 无浏览器 GUI 环境下,下载微密圈图片和视频的功能。
主要功能包括:
- 依据tag搜索并下载全部图片和视频
- 使用 Playwright 模拟浏览器环境无需手动操作
- 自定义下载目录,并支持 Docker 容器化运行
- 支持增量下载,之前已下载的资源不会被重复下载
相比原仓库,本项目主要做了以下改动:
-
Docker 支持更便捷
- 提供
Dockerfile,用户可以快速构建镜像并运行 - 支持目录映射(
-v /宿主机路径/downloads:/app/downloads),方便管理下载文件
- 提供
-
修复 ChromeDriver 与 Chrome 浏览器版本不匹配的问题
- 本项目使用playwright库修复了该问题,Playwright 自带浏览器,不需要单独安装 ChromeDriver,也不会出现版本不匹配问题。
-
修复文件后缀不正确的问题
- 根据 Content-Type 自动添加后缀
-
采用gradio作为前端,方便部署和用户操作
- 使用gradio库,可以让用户控制下载目录以及是否支持视频和图片下载
- 可以在前端观看实时的下载日志
-
增量下载
- 依照目录和文件名进行查询判断,如果重复则不下载
- 后面版本会新增定时下载功能,实现订阅爬取功能
git clone <本仓库地址>
cd <仓库目录>
pip install -r requirements.txt
python app.pydocker build -t weme-tool:latest .
docker run -it -p 8080:8080 -v /宿主机路径/downloads:/app/downloads weme-tool:latest注:/宿主机路径/downloads 替换成你本地希望保存视频的路径
Docker 方式运行时,环境变量 HEADLESS 和 SERVER_NAME 保持默认值,不要修改,确保浏览器和服务器设置正常
访问 http://localhost:8080 即可使用界面。
- 拉取镜像
docker pull raythalis/weme-downloader:latest- 运行容器并映射下载目录
docker run -it -p 8080:8080 -v /宿主机路径/downloads:/app/downloads raythalis/weme-tool:latest- 输入自定义目录,不为空则下载目录为/downloads/{输入内容}/{tag},为空则为/downloads/{tag}
- 输入微密圈的资源的tag
- 点击开始下载
- 下载完成后,可在 downloads/<子目录> 中找到文件
project/
│
├─ app.py # 主程序,包括 Gradio 前端
├─ downloader.py # 下载逻辑
├─ requirements.txt
├─ Dockerfile
└─ README.md