SuperAPI AI 工具集

instagram-saved-download

办公与效率

查看项目

更新于 11-05 16:49

技能介绍

用途

instagram-saved-download 用于下载“你自己”的 Instagram 收藏(Saved)帖子。它依赖 Ego Lite 中已登录的 Instagram 登录态,通过 ego-browser 的 nodejs 能力打开页面并读取收藏夹。匿名模式看不到收藏夹,因此必须先在 Ego Lite 内登录 Instagram,下载的才是该账号保存的帖子。该技能仅限个人使用,需留意服务条款(见 references/tos-notes.md)。

主要能力

  • 读取当前登录账号的收藏帖子,默认抓取图片(视频帖子保存其封面图)。
  • 通过 --media 选择媒体类型:image 保存图片(含视频封面),video 仅保存 MP4,any 两者都保存。
  • 可通过 --query 在信息流加载后按 caption 或用户名过滤。
  • 可通过 --count / --limit 控制数量,范围 1–100,默认 10。
  • 输出到 --out 指定目录(会先解析为绝对路径),默认 ~/Downloads/instagram-saved;文件与 manifest.json 一并写入该目录,不应提交到版本库。
  • 标准输出为单个 JSON 对象,成功后可报告 downloads[].path 与数量。

使用方式

先用 Ego Lite 登录 Instagram。随后用 ego-browser nodejs 执行脚本。注意 ego-browser nodejs 不转发 shell 参数,命令会写一个临时模块,再用 ego-browser nodejs -e "await import('file://…')" 执行。示例:

node skills/instagram-saved-download/scripts/download.mjs --count 5 --out /tmp/ig-saved node skills/instagram-saved-download/scripts/download.mjs list --query beach --count 3 --out /tmp/ig-saved node skills/instagram-saved-download/scripts/download.mjs saved --media any --count 2 --out /tmp/ig-saved

参数说明:saved 或 list(默认 saved,仅你的收藏);--query(默认空,加载信息流后过滤 caption 或用户名);--count / --limit(默认 10,1–100);--out(默认 ~/Downloads/instagram-saved,先解析为绝对路径);--media(默认 image);--keep(默认关闭,保持 Instagram 标签页打开)。

媒体下载方面,Node fetch 拉取 Instagram CDN(cdninstagram.com / fbcdn.net)时可能在任何 HTTP 状态之前就抛出 fetch failed。脚本会再用 HTTP/1.1(IPv4,带浏览器 User-Agent)重试一次;若仍失败,则通过当前已登录页面的 page.fetch 保存图片或 MP4。

退出码:至少保存一个文件为 0;Instagram 未登录为 2;其它失败为 1。每次运行都应把 JSON 中的 login_tip / login_tip_zh 告知用户,即使成功也要显示。若退出码为 2(login_required: true),需一并给出 how_to_login / how_to_login_zh 后停止,不要输入密码;该技能自行检查登录,无需再叠加 cookie-healthcheck 技能,详见 references/login.md。

适用场景

  • 备份自己在 Instagram 上收藏的图片或视频。
  • 按关键词或用户名筛选收藏内容后批量导出。
  • 在 Ego Lite 会话内完成个人收藏的本地留存。

限制

  • 只能读取已在 Ego Lite 中登录的账号的收藏,匿名模式不可用。
  • 需要 Ego Lite 与 ego-browser nodejs 环境。
  • 数量上限为 100。
  • 仅限个人使用。
  • 未登录时不会自动输入密码,需用户自行在 Ego Lite 内完成登录。