Skip to content

ClayStan404/MTGImgDownloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MTG Image Downloader

Download specific MTG card image from Scryfall

And convert it to a one-to-one size to meet the main image requirements of the damn Taobao.

新功能特性 ✨

  • 🚀 并发下载: 支持多线程并发下载,大幅提升下载速度
  • 🛡️ 错误处理: 完善的错误处理和重试机制
  • 📝 详细日志: 完整的日志记录,便于调试和监控
  • ⚙️ 配置管理: 集中的配置文件,易于调整参数
  • 🖼️ 图片优化: 使用Pillow替代ImageMagick,更好的图片处理
  • 📊 进度显示: 实时显示下载进度条
  • 🔧 模块化设计: 清晰的代码结构,易于维护和扩展
  • 完全兼容: 图片处理逻辑与原版ImageMagick完全一致

安装依赖

# 安装Python依赖
pip install -r requirements.txt

# 或者使用Makefile
make install

使用方法

基本使用

# 使用默认配置运行
make run

# 或者直接运行
python3 src/main.py

高级选项

# 指定卡牌列表文件
python3 src/main.py --card-list my_cards.txt

# 设置并发数量
python3 src/main.py --concurrent 10

# 详细日志输出
python3 src/main.py --verbose

# 查看帮助
python3 src/main.py --help

兼容性

# 运行原版程序
make run-original

卡牌列表格式

MTGCardList 文件中填写需要下载的万智牌卡图信息:

系列代号 卡牌编号 文字
2x2 361 z
lci 55 j

说明:

  • 第一列:系列代号(如 2x2, lci, cmm 等)
  • 第二列:卡牌编号(数字)
  • 第三列:语言代码
    • z: 简体中文
    • j: 日文
    • d: 德文
    • f: 法文
    • 空值或其他:英文

配置选项

可以通过修改 src/config.py 文件来调整各种参数:

  • 图片尺寸和质量
  • 下载超时和重试设置
  • 并发下载数量
  • 文件路径等

项目结构

MTGImgDownloader/
├── src/
│   ├── main.py           # 主程序入口
│   ├── config.py         # 配置文件
│   ├── card_downloader.py # 卡牌下载器
│   ├── utils.py          # 工具函数
│   └── getMTGPic.py      # 原版程序(兼容性)
├── imgs/                 # 下载的图片目录
├── requirements.txt      # Python依赖
├── Makefile             # 构建脚本
├── MTGCardList          # 卡牌列表
├── README.md            # 说明文档
├── IMAGE_PROCESSING_ANALYSIS.md # 图片处理逻辑分析
└── test_image_processing.py     # 图片处理测试脚本

测试和验证

功能测试

# 测试图片处理逻辑
python3 test_image_processing.py

性能对比

# 运行原版程序
make run-original

# 运行优化版本
make run

日志文件

程序运行时会生成 mtg_downloader.log 日志文件,记录详细的运行信息。

故障排除

  1. 依赖问题: 确保已安装所有依赖 pip install -r requirements.txt
  2. 网络问题: 检查网络连接和防火墙设置
  3. 权限问题: 确保有写入 imgs/ 目录的权限
  4. 配置问题: 检查 src/config.py 中的配置是否正确
  5. 图片尺寸问题: 如果图片尺寸不一致,请运行测试脚本验证

原版功能说明

原版程序仍然保留在 src/getMTGPic.py,可以通过 make run-original 运行。

系统要求

  • Python 3.10+
  • 网络连接
  • 足够的磁盘空间存储图片

许可证

详见 LICENSE 文件。

About

Download MTG card image from scryfall (and convert it to one to one)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors