Skip to content

跨平台自动化图床更新工具,支持从网页抓取图片、比对本地基准图、识别变体并归档,生成 Markdown 报告。 适合图床维护、攻略图归档、QQ 机器人配套使用。

License

Notifications You must be signed in to change notification settings

MskTmi/ImageHostUpdater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

图床更新助手(ImageHostUpdater)

自动抓取网页图片,智能比对基准图,归档更新变体,生成对比报告。

一个跨平台的自动化图床更新工具: 支持从网页(如微信公众号攻略贴)批量下载图片,与本地基准图片进行对比,识别重复图、变体图和未匹配图,并分类归档、生成 Markdown 报告 适用于维护图床、归档攻略图片,或配合 QQ 机器人图床使用


功能特性

  • 网页图片抓取:支持自定义 CSS 选择器筛选目标图片
  • 多维度图像比对:结合感知哈希(aHash, pHash, dHash)与 ORB 特征匹配算法,提高识别准确率
  • 自动归档:将匹配到的图片按基准图命名规则保存,未匹配的图会放入 unmatched 文件夹
  • 报告生成:输出 Markdown 对比报告,方便人工校验

环境依赖

  • Python >= 3.8
  • 依赖库见 requirements.txt

主要依赖:

  • requests(网页抓取)
  • beautifulsoup4(HTML 解析)
  • pillow(图像处理)
  • imagehash(感知哈希)
  • opencv-python(ORB 特征匹配)
  • numpy(数值计算)

快速开始

  1. 安装依赖:

    pip install -r requirements.txt
    
  2. 准备基准图片

    • 在项目根目录下新建 images/ 文件夹
    • 将基准图放入其中(文件名即规范名,用于比对和重命名)
  3. 运行脚本:

    python main.py
    
  4. 输入网页信息

    • URL(必填):目标网页或攻略贴地址
    • CSS Selector(可空):例如 #js_content img留空则抓取页面上所有 <img>
  5. 查看结果:

    • 已匹配/变体图片:archive/<网页标题>/
    • 未匹配图片:archive/<网页标题>/unmatched/
    • 对比报告:logs/

目录结构

ImageHostUpdater/
├── images/             # 基准图目录(必需)
├── archive/            # 抓取图归档目录
├── logs/               # 对比报告
├── main.py             # 主程序入口
├── requirements.txt    # 项目依赖
└── README.md

配置说明

  • IMG_SELECTOR:CSS 选择器(可在运行时修改),为空则抓取全部 <img>
  • USE_ATTRS_IN_ORDER:抓取图片时的属性优先级,常用 ['data-src','data-original-src','src']
  • SIM_THRESHOLD:ORB 相似度阈值(默认 0.8,取值范围 0.0-1.0,越高越严格)
  • CANON_DIR:基准图片目录(默认 images/)
  • ARCHIVE_DIR:归档目录(默认 archive/
  • LOG_DIR:日志/报告目录(默认 logs/

识别算法简要说明

  1. 粗筛:计算新图的 aHash / pHash / dHash,与 images/ 中每张基准图比对
  2. 精筛:选出距离最近的基准图,使用 ORB 特征点匹配,计算 good_matches / total_matches 得分
  3. 判定
    • 若相似度 ≥ 阈值 → 视为匹配,归档到 archive/<title>/,命名与基准图一致(重复则 _1/_2
    • 若相似度 < 阈值 → 归档到 archive/<title>/unmatched/

About

跨平台自动化图床更新工具,支持从网页抓取图片、比对本地基准图、识别变体并归档,生成 Markdown 报告。 适合图床维护、攻略图归档、QQ 机器人配套使用。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages