220260708
·
524 commits
to main
since this release
Changelog
v2.0.0 (2026-07-08)
版本说明
v2.0.0 是一个重大版本号升级,反映了项目从 v1.x 的持续演进。包含自 v1.4.0 以来的所有累积改进。
修复
- fc2cmadb 演员数据爬取修复:Inertia.js Deferred Props 导致的演员数据缺失问题。修复逻辑改为 Inertia JSON 解析后若 actresses 为空则回退到 HTML table 解析补充,同时增强 Inertia partial reload 请求头(注入 X-Inertia-Version 和 X-XSRF-TOKEN),解决已登录但爬不到演员的问题
- fc2ppvdb Cookie 检查优化:域名迁移至 fc2cmadb 后,Cookie 检查不再依赖
fc2ppvdb_session关键字 - 界面缩放优化:放宽 Windows 窗口最小尺寸限制(从硬锁定 1089x700 改为 QSize(850, 550)),解决 1920x1080 125% 缩放下界面过大且无法缩小的问题
新增功能
- 界面缩放比例配置:在"高分屏缩放"设置区域新增缩放比例下拉框,支持"跟随系统"/100%/125%/150%/175%/200% 六档选项。选择非默认值时通过
QT_SCALE_FACTOR环境变量(Qt6 原生机制)精确控制界面缩放,解决高分屏字体过大或过小的问题。保存后重启软件生效
v1.4.0 (2026-07-07)
新增功能
- Bing 翻译引擎:新增 Bing 翻译选项,免费免配置,与 Google 一样自动爬取翻译接口,支持中/英/日互译
- 无码官网爬虫:official 源扩展支持 Caribbeancom、HEYZO、1Pondo、Pacopacomama、10Musume 五个无码官网,番号自动路由到对应站点
- official 官网前缀路由:FNS/FALENO 与 DLDSS/DAHLIA 番号前缀自动委派给对应的子爬虫,扩大官网覆盖范围
- fc2ppvdb 适配 fc2cmadb:基础 URL 迁移至
fc2cmadb.com,新增 Inertia.js JSON + HTML 双模式解析,不再依赖旧版 fc2ppvdb XHR 接口
修复
- avsex 更新修复: 兼容 /cn/ 简体中文页面,修复 title/actor/tag/outline/extrafanart XPath 提取
- iqqtv 标题清理:去除标题末尾的
caribbeancom_番号/1pondo_番号等站点前缀,避免污染无码影片标题 - fix: 图片简化命名(poster.jpg)在 skip_reorganize 和不移动文件路径下被忽略
v1.3.3 (2026-06-23)
修复
- xcity 刮不出中文:修复了 xcity 刮出来全是英文的问题(加了请求头让网站返回繁体中文,再自动转成简体)
- 多任务同时刮会串数据:修复了同时刮多个影片时,xcity 的数据会串到别的影片上的问题
- 预置4个默认代理:amazon.co.jp、m.media-amazon.com、xcity.jp、dmm.co.jpdmm.co.jp 保障正常刮削 dmm、xcity及下载日亚高清封面
日志精简
- 日志去重:同一行重复的日志不再刷屏了
- 去掉没意义的"(old)"日志:之前每个文件都会刷"Poster done! (old)"这类消息(意思是"文件已经有了,跳过下载"),现在不显示了,日志减少了将近一半
- 报错提示不再重复弹:图片下载失败时,"去设置里勾选xxx"的提示只出现一次,不再日志和错误提示各出现一次
- 翻译跳过不再逐行输出:如果多个翻译引擎都不可用或跳过,现在汇总成一行显示,不再每个引擎占一行
日志合并
- Poster 裁剪日志合并为一行:以前裁剪海报时先输出"开始处理",再输出"用了什么策略",现在合并为一行,信息量不变
- Poster 直复制缩略图日志合并:策略说明和完成报告合并为一行
开发者工具
- 添加类型检查工具:新增 pyright 配置,后续开发时能自动发现潜在的类型错误,减少发布后出问题的概率
v1.3.2 (2026-06-22)
功能增强
- 刮削速度优化:图片下载改成并行模式,缩略图下载完后,海报、剧照等会同时下载,不用排队等了
- 演员 TMDB ID 查询加速:从 TMDB 查演员信息时,多个演员同时查(以前是排着队一个一个查),补演员改名翻译和网址也合并到一块写入硬盘,减少重复读写
界面调整
- 代理设置更清晰了:原来的"不使用代理"改成了"使用代理"。现在只对你填进去的网站走代理,其他网站默认直连,不会出现代理影响国内网站的尴尬。默认预填了
amazon.co.jp和m.media-amazon.com
修复
- Excel 字体大小不一致:修复了往演员数据库和 Amazon ASIN 数据库添加新数据时,字体默认变成 12 号,和原来 11 号不统一的问题
v1.3.1 (2026-06-20)
新增功能
- 新爬虫:JavDB APP版接口:新增
javdb_app刮削源,走的是 JavDB App 的接口,有码/无码/素人/FC2/欧美都能用,配置里对应的分类已默认加上
修复
- 欧美影片刮着刮着就超时:修复了一个代码缩进错误。以前日系番号(如
SSNI-111)正常,但欧美番号(如Viv-thomas.24.12.20)因为名字里带点号,程序错误地进入了"等待同番号"的死循环,干等 300 秒后超时报错。现在欧美番号也能正常刮了
界面调整
- 可用网站列表刷新:"可用网站"弹窗和"指定网站"下拉框现在和实际注册的爬虫保持一致,移除了已停用的
avsex、love6 - 无码分类编辑框不再出现有码站:
javlibrary、libredmm、javdbapi不会再出现在无码的编辑网站对话框里
日志优化
- 分隔线不再用满屏 emoji:以前每个任务开始和结束用 50 个连续 emoji(
👆×50、👇×50)做分隔线,在某些电脑上显示为乱码方框,且日志文件体积巨大。改为 40 个等号====,清爽多了
文档更新
- 同步更新了
FEATURES.md、COMPLETE_FEATURES.md、CODE_WIKI.md、architecture.md中的爬虫列表和分类信息
v1.3.0 (2026-06-18) 重磅更新
新增功能
- 演员日文名更准了:以前填演员表用的是搜索用的中文名,现在改用 TMDB 返回的日文原名(像"三上悠亜"这种)
- 自动补演员网址:刮削完会自动检查哪些演员有 TMDB ID 但没网址,用日文名去 LibreDMM 找到网址填上
- 重磅更新,读取模式下,向已刮削的影片的NFO中补全写入演员tmdbid
- 前提条件:
- 1.设置网络页面填入TMDB API KEY(没有的要去TMDB申请)
- 2.设置NFO页面勾选“为演员写入TMDB ID”
- 3.设置刮削模式为选读取模式,并勾选“允许更新 nfo文件”
- 4.TMDB上要有这个演员的信息资料
- 注意:
- 如果不想在补全演员tmdbid后,改变nfo中的演员名,请不要勾选设置翻译页面的“使用演员映射表翻译演员”
- 因为软件在补全演员tmdbid后,默认用TMDB上的该演员中文简体或繁体名映射,甚至在没有中文简体或繁体名时直接回退日文名,可能和你原nfo的演员名不一样
- 好消息:AVdb的LEO、龙王大佬们在持续补充 TMDB 女优资料中,lsj可以定期用读取模式去获取新增加女优的tmdbid了,不用重新刮削
读取模式改进
- 选项更灵活了:4 个选项现在互不绑定。可以只勾"有 NFO 时更新"不勾"更新 NFO",就只整理文件不改 NFO;也可以只勾"更新 NFO"不勾"有 NFO 时更新",就只改 NFO 内容不挪文件
修复
- NFO 里的
<![CDATA[...]]>改用正规解析,不会再因为内容里恰好有]]>而出错 - 正则表达式安全:文件名中的特殊字符会先转义再匹配,不会崩
- 并发请求异常:演员名查询时如果某个请求出错,不会让整个任务崩溃
- 被悄悄吞掉的错误日志:演员数据查询中隐蔽的异常现在会写入日志
v1.2.1 (2026-06-17)
修复
- 修复传统窗口模式下(未勾选"隐藏边框"),点击原生标题栏关闭按钮无响应问题
- 修复反序设置导致已有超链接单元格样式标记丢失
功能增强
- 完善 LibreDMM 演员链接自动补全功能
- xlsx 冻结窗格从
A2改为B2,同时固定表头行和第1列(番号列),横向滚动时始终可见 - 传统窗口模式下,点击关闭按钮同样遵循
HIDE_CLOSE配置,支持"关闭时隐藏到系统托盘"
UI 改进
- 更新设置翻译页面提示词,反映 xlsx 数据库格式和 TMDB 自动填充功能
v1.2.0 (2026-06-16)
架构改进
- 将
_read_actor_db_xlsx及列常量从tmdb_actor.py迁移至resources.py,彻底消除模块初始化阶段的循环导入依赖
修复
- #consts.py
IS_DOCKER改为检测/.dockerenv文件,避免 Linux 桌面环境误判为 Docker - #number.py
get_number_first_letter("")加空字符串保护,防止IndexError崩溃 - #tmdb_actor.py
_tmdb_request()curl_cffi 分支补上follow_redirects参数,统一两种 HTTP 后端的重定向行为
功能增强
- #file_crawler.py
_normalize_release_value()增加YYYYMMDD无分隔符日期格式兼容 - #tmdb_actor.py 演员数据库首次发现为
None时自动重试加载(延迟加载兜底),减少不必要的 TMDB API 请求 - #tmdb_actor.py 对
update_actor_db_row()增加asyncio.Lock()防止并发写 xlsx 导致文件损坏 - #resources.py
reload_actor_db()文件不存在时不再重置actor_db为None;异常时恢复旧值保留缓存;异常信息同步写入主日志和 traceback 日志
代码精简
- #resources.py
_get_mark_icon()7 处重复的 if-not-isfile-copy 合并为数据驱动循环 - #number.py FC2 / HEYZO 番号提取两个几乎相同的 elif 分支合并为一个,区分前缀和最小位数
- #crawlers/ 12 个爬虫文件各自定义的
split_csv函数统一为crawlers/base/types.py的共享函数,各文件 import 使用 - #pyproject.toml 添加
[build-system]段,符合 PEP 517/518 打包规范
线程安全
- #log_buffer.py
all_buffers字典所有读写操作增加threading.Lock保护,消除多协程并发时字典损坏风险
v1.1.0 (2026-06-13)
新增功能
-
Minnano-av 演员信息刮削源
- 新增
minnano_crawler.py模块,支持从 みんなのAV 网站抓取演员信息 - 支持中文→日文演员名映射(通过
actor_database.xlsx查找日文原名后再搜索) - 实现模糊搜索匹配策略:精确匹配优先,其次多字符公共子串匹配,最后五十音回退搜索
- 详情页加了标题核对,避免匹配到错误的演员
- 新增
-
Emby 演员信息增强
- 在 Wikipedia 之前优先查询 Minnano-av 数据源,补充 Emby 演员元数据
- Minnano-av 缓存文件
minnano_cache.xlsx集成,避免重复请求 - 缓存表头冻结、数据行全边框、URL 超链接,便于用户手动审查
-
Gfriends 头像本地仓库
- UI 新增"Gfriends 设置"区域:可以选择本地仓库路径、点按钮更新(拉取最新头像)、显示最后更新时间
- 有本地仓库时优先从本地读取,不联网;本地没配置时才从 GitHub 网络下载
- 更新按钮在没选路径或正在更新时禁用,防止误操作
- 保存配置时,如果本地和网络都没填会弹窗提醒
-
Gfriends 头像升级:AI 修复版优先
- 找Gfriends 头像时优先用
AI-Fix-名字.jpg(AI 修复增强版),再找普通版
- 找Gfriends 头像时优先用
-
搜索链接中文兼容
- Graphis、Minnano-av、Wikidata 搜索时,演员名字自动做编码转换,解决日语名字搜索失败的问题
配置变更
- 新增
gfriends_local_path配置项:填本地 Gfriends 文件夹路径即可启用本地模式
v1.0.0 (2026-06-11)
MDCx-DIY 首个正式发布版,基于Hazard804改良的mdcx项目制作,对前辈表示衷心感谢!!!
刮削引擎
- 40+ 网站爬虫(有码/无码/FC2/国产/欧美)
- 新增 libredmm 刮削源(可刮削dmm下架影片)
- GenericBaseCrawler 统一框架 + 上下文隔离
- 智能番号识别与自动分类(用户预定义)
- 异步并发架构(asyncio + 渐进式任务调度)
- curl-cffi 浏览器指纹伪装
TMDB 演员
- 新增 NFO 女优 TMDB ID 功能
- NFO 女优 TMDB ID 写入(需在 NFO 设置勾选 + 填入 API Key)
- 日文原名搜索,日本出生地 + 女性/未指定性别 + 精确名匹配过滤
- 多候选按 popularity 排序取最优,失败不阻塞刮削
- 令牌桶限流器(3.5 req/s,突发 10),并发 3 查询
- TMDB adult 候选自动跳过,搜索候选数优化为 5
- actor_database.xlsx用于nfo增加tmdbid和演员映射功能,反向搜索 + 增量写入,已预置部分女优数据,后续随软件使用动态更新(新演员若TMDB有数据就在表中追加数据,表中演员若TMDB数据更新,表中相关数据会追加)
- 超链接一致性校验与自动修复
Amazon 高清封面
- ASIN 条码识别 + 三层搜索策略
- 封面 poster 固定 1500 尺寸(平衡质量和大小)
- 新增Amazon ASIN 缓存功能,通过Excel 缓存(amazon_asin_database.xlsx)
- 缓存去重逻辑,保护高置信度数据
- ASIN 缓存Excel随软件使用动态追加(同个影片二次刮削时不用再去Amazon查找,直接用表中数据下载高清封面)
数据源迁移
- actor_mapping XML + TMDB 缓存合并为 actor_database.xlsx
- mapping_info.xml 迁移为 info_database.xlsx
- 内置 xlsx 数据库,支持表头冻结,筛选、超链接等,用户可自行编辑或通过超链接审查数据
代理与网络
- HTTP/SOCKS5 代理配置
- 新增"不使用代理"网站选择器:40+ 刮削源下拉快速选择,智能域名匹配
- 默认 api.tmdb.org 不走代理
元数据与媒体
- NFO 生成器,30+ 字段,兼容 Kodi/Emby/Jellyfin
- 多语言翻译(Google/Bing/百度/DeepL/DeepLX/LLM 六引擎)
- Jinja2 命名模板引擎
- OpenCV 人脸检测智能裁剪
- 海报/背景图/预告片自动获取
- 字幕管理与缺失检测
- Emby/Jellyfin 演员信息补全 + 头像同步
界面与工具
- PyQt6 桌面图形界面
- 命令行工具(crawl、gen_enums)
- 构建工具链(build、bump、changelog、check)
修复
工程质量
- 70+ 个测试文件覆盖核心模块
- CI:ruff format + ruff check
- Release:macOS DMG + Windows EXE
- 新增29 篇技术文档(架构、模块、API、迁移指南等)