自动化观影新方案
现有的自动化观影方案大多是依赖 PT 的, 我认为存在几个问题:
- 下载大量的电影太耗时
- 需要做种, 占用硬盘空间
- 提高上传量也需要花费时间精力
网盘实际上在观影方面是很有优势的, 一方面, 网盘空间普遍较大, 不需要占用过多本地空间, 另一方面, 网络上分享的资源也很丰富. 现有的与网盘相关工具如 AList
、Rclone
、CloudDrive2
在网盘管理方面已经相当成熟,但我发现它们并未充分利用网盘的转存功能.
项目构思
网络上有这么多人分享最新的电影资源, 如果有一款工具能够自动化地转存最新电影, 那再借助Alist
、Emby
等工具, 就能低成本地实现观影自由了.想法很简单, 但是实现起来有一个问题: 网上分享的资源太杂乱了, 每个人分享的格式都不一样, 如何程序化地提取分享链接与电影信息?
我的做法是引入大模型辅助解析, 正好之前在某基流动邀新的活动中白嫖了好多额度, 于是决定让AI帮我从网页中解析出分享链接与电影信息.以上就是AutoMovieSaver
这个项目的由来(项目地址).
考虑到天翼云盘在某宝、某鱼上的价格十分便宜, 一个10T的账号才十块钱甚至还不到, 而且天翼云盘对于非会员用户来说也几乎不限速, 足以支持流畅观影, 非常适合本项目. 所以目前我只实现了天翼云盘的相关功能.
使用指南
- 在当前路径创建
data
文件夹, 在data
文件夹内创建config.toml
文件并按照下面的例子进行配置 :
folder_rename_pattern = "{title} ({year})" # 文件夹命名模板
file_rename_pattern = "{title}. {year}" # 电影文件命名模板
api_url = "https://api.siliconflow.cn/v1" # 大模型API接口
model = "Qwen/Qwen2.5-32B-Instruct" # 模型
token = "sk-" # API密钥
cron = "0 6 * * *" # cron 表达式, 默认每次运行时转存前10页中的新电影, 为空则直接运行
[[accounts]]
username = "139****5210" # 天翼云盘用户名(手机号)
password = "123456" # 天翼云用户密码
root_folder = "" # 电影存放的文件夹的ID, 为空时将自动在根文件夹创建"电影"文件夹, 并在运行结束后将其id保存至配置文件中以便下一次运行
# 支持多个账号
#[[accounts]]
#username = "139****5210" # 天翼云盘用户名(手机号)
#password = "123456" # 天翼云用户密码
#root_folder = ""
# 默认使用 SQLite, 因此以下参数无需配置
#[db_info]
#username = "root" # MySQL用户名
#password = "123456" # MySQL密码
#database = "189_films" # MySQL数据库名
- 运行 Docker 镜像
docker run -d --restart=unless-stopped -v $(pwd)/data:/app/data --name="auto-movie-saver" easychat/auto-movie-saver:v1.0
获取天翼云盘文件夹ID
获取文件夹ID的方法如下:
- 登录天翼云盘
- 打开要存放电影的文件夹或者创建一个并打开
- 此时浏览器的网址为
https://cloud.189.cn/web/main/file/folder/1294*******
, 最后面的那串数字就是文件夹ID
爬取范围设置
在main.py
中, 修改以下代码:
collector.collect((1, 10))
该代码表示从雷鲸小站电影主题下的第1~10页帖子中提取分享链接并保存.通过修改这个参数,可以调整爬取的页面范围.
与其他工具集成以实现自动化观影
- 使用本项目批量保存电影资源; (本项目地址)
- 使用
AList
挂载网盘; (AList 项目地址) - 使用
AutoFilm
自动生成 Strm 文件; (AutoFilm 项目地址) - 使用
MediaWarp
配合Emby
优化 Strm 文件播放. (MediaWarp 项目地址, Emby 官网)
更新计划
之后准备实现的功能有:
- 添加自动删除功能以节约网盘空间 (比如删除 n 个月前入库的电影或者存储空间不足时删除最早入库的电影)
添加 SQLite 支持以简化配置步骤(已实现)- 添加 Web 管理界面
支持 docker 一键部署(已实现)
如果有其他有用的、还未实现的功能, 欢迎留言.
总结
本项目旨在抛砖引玉, 提供一种利用大模型辅助爬虫解析网盘分享链接的新思路, 期待大佬们能开发出更多好用的观影工具.