如何通过命令行下载 iCloud 照片

通过命令行下载 iCloud 照片

曾经想过使用命令行从 iCloud 照片下载所有照片吗?感谢第三方 icloud_photos_downloader 工具,您可以做到这一点。简称为 icloudpd,它可以在 Mac、Windows PC 或 Linux 上使用命令行直接从 iCloud 访问和下载照片。

icloudpd 是开源的,您可以在 github 上查看源项目 如果有兴趣。

因为 icloud_photos_downloader 是一个 Python 工具,您需要安装 Python 3.x在 Mac 上安装 Homebrew 如果您还没有这样做的话。我们假设您在 Mac 上使用 Homebrew,但如果您使用其他软件,请改用适当的安装方法。

如果您还没有安装 Python,首先需要在 Mac 上安装它。如果您之前已经安装过python,则可以跳过这一步。

brew 安装 python

一旦 python 安装完成,您可以使用以下命令使用 pip 安装 icloud_photos_downloader 包:

pip 安装 icloudpd

安装完 icloudpd 后,您就可以开始了。

如何通过命令行下载所有 iCloud 照片

安装 icloudpd 后,您就可以使用它使用 iCloud API 直接从 iCloud 照片下载照片。

您需要指定一个目录来下载照片,并包括您的 Apple ID 和密码,如下所示:

icloudpd --directory ~/iCloudPhotoBackup
--用户名appleID@example.com
--密码examplepassword123

这会将 iCloud 照片中的所有照片下载到目标目录。

确保您有足够的可用磁盘空间来完成下载,并确保您也有可用的带宽。很多照片可能需要很长时间才能下载,所以如果你有一个包含 100,000 多张图片并占用 350GB 存储空间的图库,请耐心等待,让整个过程完成。

完成后,您需要查看下载所有内容的目录,以便您知道

还有其他方法可以从 iCloud 下载所有照片,包括 通过 iCloud 下载它们Mac 通过关闭 iCloud 照片 功能,执行类似的操作从iCloud 到 iPhone 或 iPad使用 iCloud.com 网站下载功能 a&gt(不幸的是,一次只能拍摄 1000 张照片,这对于拥有大型照片库的用户来说不切实际),或者使用 Mac 上照片中 iCloud 照片的“下载原件”设置(再次确保您有足够的磁盘空间来实现这一目标),或者您甚至可以使用 Apple 的 GDPR 数据请求工具 来请求Apple 从您那里获得的所有资料的副本,包括 iCloud 照片。

值得一提的是,icloudpd 有许多其他选项和标志可用于有选择地从 iCloud 照片下载图片。如果您运行 icloudpd –help,您将看到以下选项:

用法:icloudpd.py 选项

将所有 iCloud 照片下载到本地目录

选项:
-d, --directory directory 应该用于
下载的本地目录
-u, --username username 你的 iCloud 用户名或电子邮件地址
-p, --password password 您的 iCloud 密码(默认:使用 PyiCloud
密钥环或提示输入密码)
--cookie-directory /cookie/directory
存储 cookie 的目录
身份验证(默认:~/.pyicloud)
--size [original|medium|thumb] 要下载的图像大小(默认:original)
--live-photo-size [original|medium] |thumb]
要下载的实时照片视频大小(默认:
原始)
--recent INTEGER RANGE 要下载的近期照片数量
(默认:下载所有照片)
--until-found INTEGER RANGE 下载最近添加的照片,直到我们
找到x张以前下载的
连续照片(默认:下载所有
照片)
-a, --album album 要下载的相册(默认:所有照片)
-l, --list-albums 列出可用相册
--skip-videos 不下载任何视频(默认:下载
/> 所有照片和视频)
--skip-live-photos 不下载任何实时照片(默认:
下载实时照片)
--force-size 只下载请求大小(默认:
如果大小不可用,则下载原始文件)
--auto-delete 扫描“最近删除”文件夹并
删除其中找到的所有文件。 (如果您
在 iCloud 中恢复照片,它将被
再次下载。)
--only-print-filenames 只打印所有
将被下载的文件的文件名(不包括
已经下载的文件。)(不下载
或删除任何文件。)
--folder-structure folder_structure
文件夹结构(默认:{:% Y/%m/%d})
--set-exif-datetime 从
文件创建日期写入DateTimeOriginal exif标签,如果它不存在。
--smtp-username smtp_username
您的 SMTP 用户名,用于在两步验证
过期时发送电子邮件
通知。
--smtp-password smtp_password
您的 SMTP 密码,用于发送电子邮件
br /> 两步验证
过期时的通知。
--smtp-host smtp_host 您的SMTP 服务器主机。默认为:
smtp.gmail.com
--smtp-port smtp_port 您的 SMTP 服务器端口。默认值:587 (Gmail)
--smtp-no-tls 传递此标志以禁用 SMTP 的 TLS(Gmail 需要 TLS

--notification-email notification_email
您希望
接收电子邮件通知的电子邮件地址。默认值:SMTP
用户名
--notification-script PATH 当双因素
身份验证过期时运行外部脚本。 (所需路径:
/path/to/my/script.sh)
--log-level [debug|info|error] 日志级别(默认:debug)
--no- progress-bar 禁用单行进度条并
在单独的行上打印日志消息
(如果
没有附加tty,则默认情况下禁用进度条)
--threads -num INTEGER RANGE CPU 线程数(默认值:1)
--version 显示版本并退出。
-h, --help 显示此消息并退出。

如您所见,有相当多的可自定义选项可用,这可能超出了大多数用户的需求,他们只是想将 iCloud 中的所有照片下载到本地设备或存储设备以进行备份、存档或其他用途。

您是否使用 icloud_photos_downloader 从 iCloud 照片下载您的所有照片?您是否使用了其他解决方案?你下载的库有多大?在评论中让我们知道您的经历和想法。