iCloud照片下载器命令行工具完全指南
一、工具简介与安装
1.1 工具概述
iCloud照片下载器是一款轻量级命令行工具,专为从iCloud照片库批量下载照片和视频而设计。它提供了灵活的参数配置,支持增量同步、选择性下载和自动化管理等高级功能,适用于个人备份、数据迁移和服务器定时同步等多种场景。
1.2 安装方法
Python环境安装:
pip install icloudpd
源码安装:
git clone https://gitcode.com/GitHub_Trending/ic/icloud_photos_downloader
cd icloud_photos_downloader
pip install -r requirements-pip.txt
python setup.py install
💡 安装技巧:建议使用虚拟环境隔离依赖,避免与系统Python环境冲突。
二、基础使用与认证配置
2.1 基本命令格式
icloudpd --username <Apple ID> [参数选项] <下载目录>
2.2 认证方式
交互式认证(推荐):
icloudpd --username your@email.com ./downloads
密码安全存储:
⚠️ 不建议直接在命令行使用--password参数,推荐使用系统密钥链:
icloudpd --username your@email.com --use-keychain ./downloads
多账户管理:通过--cookie-directory指定不同缓存目录实现多账户隔离:
icloudpd --username account1@email.com --cookie-directory ~/.icloudpd/account1 ./downloads/account1
三、下载策略与范围控制
3.1 增量同步设置
智能增量下载:--until-found X参数从最新照片开始检查,当连续X张照片已存在时停止:
icloudpd --username your@email.com --until-found 5 ./downloads
适用场景:定期同步场景,减少不必要的文件检查和IO操作。
3.2 选择性下载
按数量筛选:--recent X仅下载最新的X张照片,适合测试配置:
icloudpd --username your@email.com --recent 10 ./downloads
按时间筛选:--skip-created-before YYYY-MM-DD跳过指定日期前的照片:
icloudpd --username your@email.com --skip-created-before 2023-01-01 ./downloads
内容类型筛选:
# 仅下载照片,跳过视频
icloudpd --username your@email.com --skip-videos ./downloads
# 仅下载视频
icloudpd --username your@email.com --only-videos ./downloads
四、相册与文件管理
4.1 相册与图库选择
指定相册下载:--album "相册名称"下载特定相册内容:
icloudpd --username your@email.com --album "旅行照片" ./downloads
查看可用相册:
icloudpd --username your@email.com --list-albums
多图库支持:企业用户可使用--library参数指定图库:
icloudpd --username your@email.com --library "工作图库" ./downloads
4.2 文件命名与存储结构
自定义目录结构:使用--folder-structure定义文件组织方式:
# 按年/月/日组织文件
icloudpd --username your@email.com --folder-structure "{:%Y/%m/%d}" ./downloads
文件命名策略:
# 保留原始文件名
icloudpd --username your@email.com --original-filenames ./downloads
# 保留Unicode字符
icloudpd --username your@email.com --keep-unicode-in-filenames ./downloads
五、高级功能与自动化
5.1 持续同步模式
--watch-with-interval X参数实现定时同步,每隔X秒检查一次更新:
icloudpd --username your@email.com --watch-with-interval 3600 ./downloads
适用场景:24小时运行的服务器,实现iCloud照片自动备份。
⚠️ 注意:间隔设置过短可能触发iCloud API限制,建议设置3600秒(1小时)以上。
5.2 云端照片管理
自动清理云端照片:--keep-icloud-recent-days X保留最近X天的云端照片,删除更早的内容:
icloudpd --username your@email.com --keep-icloud-recent-days 30 ./downloads
💡 使用技巧:先使用--dry-run测试效果,确认无误后再实际执行。
仅下载原始文件:
icloudpd --username your@email.com --download-original ./downloads
六、实用参数与场景示例
6.1 调试与测试参数
模拟运行:--dry-run显示操作但不实际下载或删除文件:
icloudpd --username your@email.com --recent 5 --dry-run ./downloads
简化输出:--only-print-filenames仅输出文件路径,适合与其他工具集成:
icloudpd --username your@email.com --only-print-filenames ./downloads > download_list.txt
6.2 完整场景示例
场景1:日常增量备份
icloudpd --username your@email.com \
--until-found 10 \
--folder-structure "{:%Y/%m}" \
--set-exif-datetime \
--cookie-directory ~/.icloudpd/cookies \
./photos_backup
场景2:服务器自动同步
icloudpd --username your@email.com \
--watch-with-interval 3600 \
--keep-icloud-recent-days 90 \
--skip-videos \
--xmp-sidecar \
/mnt/nas/icloud_backup
七、常见问题解决
7.1 认证问题
问题:频繁要求输入验证码
解决:使用--cookie-directory保存认证状态:
icloudpd --username your@email.com --cookie-directory ~/.icloudpd/cookies ./downloads
7.2 下载速度慢
问题:下载速度远低于网络带宽
解决:添加--threads参数增加并发连接(建议不超过5):
icloudpd --username your@email.com --threads 3 ./downloads
7.3 文件名乱码
问题:下载的文件出现中文或特殊字符乱码
解决:使用--keep-unicode-in-filenames参数:
icloudpd --username your@email.com --keep-unicode-in-filenames ./downloads
7.4 API请求限制
问题:出现"Too many requests"错误
解决:延长同步间隔,减少并发请求:
icloudpd --username your@email.com --watch-with-interval 7200 --threads 1 ./downloads
总结
iCloud照片下载器通过丰富的参数选项,提供了灵活高效的iCloud照片备份解决方案。无论是个人用户的简单备份需求,还是企业级的自动化同步系统,都能通过合理配置参数实现最佳效果。建议新用户从基础参数开始,逐步探索高级功能,构建符合自身需求的照片管理流程。
官方文档:docs/index.md
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00