下载账户存档只是第一步。持久记录在于帖子、媒体、元数据以及下载环境之间的关联。

可靠的流程应保留原始压缩包,记录照片或视频之外的元数据,保留带时区信息的时间戳,并在解压后验证每个媒体文件。

想持续保存文案和元数据,而不是依赖一次性导出?SocialGuardian 称其会自动备份帖子、照片、视频、reels/shorts、快拍、文案、元数据、关注者/关注列表及互动数据。设置备份

社交媒体存档可以包含哪些内容

社交媒体没有统一的元数据格式。社交活动流会累积上下文、多媒体对象和互动元数据,而帖子、点赞、回复、转发和评论在不同平台上的表示方式可能不同,档案研究指出。

导出内容除了帖子文本外,还可能包含元数据。只要导出提供了这些信息,就应保留以下内容:

记录区域 应保留的字段
内容和媒体 帖子文本、文案以及原始下载媒体
身份和上下文 帖子 URL、帖子 ID、原始帖子时间戳、作者用户名和显示名称,以及作者个人资料 URL
帖子详情 互动指标、嵌入式位置数据、话题标签、提及和链接
抓取记录 captured_at、来源 URL、抓取者、方法、内容哈希,以及可用的原始响应

这种区分很重要,因为账户下载中的互动数值只是快照。之后平台上的数值可能不同,档案研究对此作了解释。

有意选择导出方式并记录其抓取时间范围

使用平台当前的导出控制项,并在下载前记录你的请求内容。

Facebook

在 Facebook 桌面端依次选择:头像 > 设置与隐私 > 设置 > Meta 账户 > 你的信息和权限 > 导出你的信息 > 创建导出。选择个人资料,然后选择导出到设备,参见 Facebook 说明。

Facebook 允许你选择具体信息、日期范围、格式、通知邮箱和媒体质量。更高质量的视频会使导出文件更大,据 Facebook 说明。

Instagram

在 Instagram 桌面端依次选择:更多 > 设置 > Meta 账户 > 你的信息和权限 > 导出你的信息 > 创建导出。选择个人资料,选择下一步,然后选择导出到设备,参见 Instagram 说明。

Instagram 也允许你自定义信息、日期范围、格式、通知邮箱和媒体质量。Meta 表示,导出链接可能需要最多 30 天才能送达,而准备好的导出文件可使用四天,据 Instagram 说明。Facebook 同样表示,完成的导出文件可使用四天,并且导出受密码保护,据 Facebook 说明。

Google Takeout

Google Takeout 可以导出 YouTube 视频及其他 Google 产品数据。选择产品,必要时缩小某个产品的数据范围,然后选择传送方式和存档格式,据 Google 说明。

Takeout 提供 ZIP 或 TGZ 文件、一次性或定期导出;当所选的最大存档大小不足时,还会生成多个存档,据 Google 说明。

对于每次导出,都应记录账户、所选日期范围、请求时间、存档创建或下载时间、所选格式和媒体质量设置。请将这个抓取时间范围与账户之后的状态分开:Google 警告,数据文件可能不包含下载请求与存档创建之间发生的更改,据 Google 说明。

将压缩包、媒体和元数据放在一起

将原始下载的 ZIP 或 TGZ 作为源压缩包保存。Facebook 的文档说明,HTML 导出是一个包含索引 HTML 文件及图片、视频等文件夹的 ZIP;JSON 可供机器读取,也更便于传输信息,据 Facebook 说明。

不要把媒体文件夹当成完整存档。使用 HTML 导出时保留 HTML 索引,使用 JSON 导出时保留 JSON,并保留原始媒体。curl-x 描述的保存包包括原始媒体文件、带时间戳的页面存档、每个下载文件的 SHA-256 哈希、帖子 URL、访问日期、采集者身份以及可用的网络或服务器响应记录,据 curl-x。

记录每个媒体项目对应的文件名。如果需要描述性文件名,可加入平台、账户用户名和日期;curl-x 建议的格式是 twitter_username_20260811.mp4,据其说明。将文件名与哈希、来源 URL 和抓取时间戳一并记录。

一次性存档可能让你需要整理分开的媒体和元数据文件。SocialGuardian 称其自动每日备份文案和元数据,以及帖子、照片、视频、reels/shorts 和快拍。选择要备份的个人资料

为每个媒体项目建立元数据记录

为相关媒体使用伴随 JSON 记录,通常称为 sidecar。当文案、帖子 ID、时间戳或其他上下文存储在 JSON 中而不是照片或视频本身时,这种方式很有用。

JSON 适合这项工作:W3C Activity Streams 规范将 JSON 描述为一种便于人类阅读、可由机器处理且可扩展的丰富活动元数据表示方式,据 W3C。实用的 sidecar 或清单记录可在信息可用时使用以下字段:

  • 文件名和媒体类型。
  • 帖子 URL 和帖子 ID。
  • 文案或帖子文本。
  • 原始帖子时间戳。
  • 作者用户名、显示名称和个人资料 URL。
  • 作为导出快照的互动指标。
  • 位置数据、话题标签、提及和链接。
  • captured_at、采集者和抓取方法。
  • SHA-256 或其他内容哈希。
  • 可用的原始响应。

SociaVault 的示例保存记录使用 captured_at、source_url、captured_by、method、content_hash 和 raw_response,随后以确定性文件名将记录保存为 JSON,如其保存指南所示。

为帖子的原始时间戳和 captured_at 保留不同字段。如果平台提供时区偏移或 Z,请保留原值,不要默默转换为本地时间。W3C Activity Streams 要求使用 UTF-8 序列化,并规定日期时间值必须带明确的数字偏移或 Z,据 W3C。

解压后验证存档

验证应回答两个问题:预期文件是否在解压后仍然存在,以及你能否将其关联到正确的帖子记录?

按以下顺序操作:

  1. 保留原始压缩包和原始媒体。
  2. 创建清单,记录文件名、帖子 URL、帖子 ID、原始帖子时间戳,以及可用的文案或 JSON 记录。
  3. 为每个下载的媒体文件生成 SHA-256 哈希。
  4. 将每个哈希与文件名、来源 URL 和抓取时间戳并列记录。SHA-256 值相当于文件指纹:文件未改变时,哈希保持一致,据 curl-x。
  5. 检查每个媒体项目是否有对应的元数据记录,并将导出未提供的字段记录为缺失。
  6. 将清单、原始 JSON 或 HTML、原始媒体和可用的抓取记录一起保存。

Fixity 是检查文件是否保持其声称状态的计算方法。档案专业人员会为存入的文件使用校验和,并可定期重新计算,如档案研究所述。

存档能够证明什么,不能证明什么

截图只能作为额外的视觉参考,不能代替上述面向元数据的完整保存包。为了形成更有力的记录,请保留原始媒体、元数据和上下文、抓取时间戳、来源 URL、访问日期、采集者身份、哈希,以及可用的页面、网络或服务器响应记录,据 curl-x。

下载的存档可以保留平台记录的帖子时间戳,前提是该字段包含在导出中。但仍应标注自身的抓取时间范围:Google 警告,存档可能不包含请求与存档创建之间发生的更改;档案研究指出,互动数之后可能改变,据 Google 和档案研究。

如果媒体或元数据缺失,请保留原始压缩包和原始 HTML 或 JSON,​​在清单中标记缺失字段,并记录导出设置和抓取时间范围。这样可以区分平台实际交付的内容与下载中不可用的内容。

可重复执行的保存清单

下载前:

  • 记录账户、平台、导出请求时间、所选日期范围、格式和媒体质量。
  • 使用平台官方导出控制项,并注明结果将是 HTML、JSON、ZIP 还是 TGZ。
  • 当平台提供存档有效期时,记录该有效期。

下载后:

  • 保留原始 ZIP 或 TGZ 及原始媒体。
  • 保存导出附带的 HTML 索引或 JSON 记录。
  • 为每个媒体项目创建文件名和元数据清单。
  • 将文案、帖子 ID、原始时间戳、个人资料详情和链接与相关媒体放在一起。
  • 当元数据与媒体分开时,保存 JSON sidecar 或等效记录。
  • 按原样保留时间戳偏移或 Z。
  • 生成并记录 SHA-256 哈希,同时记录文件名、来源 URL 和抓取时间戳。
  • 标记缺失的媒体或字段,不要用未经验证的替代内容来填充。
  • 定期重新进行校验和验证。

对于 SocialGuardian 列出的平台,其主页称服务覆盖 Instagram、TikTok、YouTube、X、Facebook、LinkedIn、Twitch 和 Pinterest,并且只使用公开的 @handle,不需要密码或登录,据 SocialGuardian。

让存档流程专注于重要内容:SocialGuardian 称其每天自动备份帖子、媒体、文案、元数据、关注者/关注列表和互动数据。从公开个人资料用户名开始