通讯/社交软件 Telegram 在俄语互联网上非常受欢迎。由于 Facebook 和 Twitter 在俄罗斯的使用受到限制,它也成为了俄罗斯互联网用户可以使用的社交应用之一。
最近一段时间,它也是记录乌克兰危机的一个极其重要的工具。普通乌克兰人定期发布视频和照片,显示战争对自己家园造成的破坏,这些材料也能够让调查记者确定对平民袭击的地理位置,并确定俄军使用集束弹药的情况。
但这段时间俄罗斯和乌克兰的网络媒体环境是非常不稳定的。将看到的信息存档,可以确保在用户删除帖子、频道被删除或整个平台无法访问的情况下,调查人员仍然可以使用这些内容。许多互联网上的链接会随着时间的推移而无法打开,这种链接被称为“死链”,但如果你将相关内容进行了归档,就可以将它们长期保存。
2月25日,Telegram 频道 @MariypolCalling 发布了一段俄军动向视频。在写这篇文章时,由于内容被修改,这个帖子已经无法查看了。
然而,如果你当时保留了这段视频的副本,就可以随时进行查看了。Telegram 是最容易对内容进行存档的通信平台之一,也是最后一个会保留图像元数据的平台——这点对用户来说有隐私风险,但对开源研究者来说却是一个好消息。Telegram 的聊天记录导出格式对谷歌翻译比较友好,即使你不是技术大牛也可以方便进行操作。
存档 Telegram 的内容往往非常有用。例如,Bellingcat 就曾将 Telegram 的帖子存档,用于对极右团体和阴谋论“匿名者Q”的多项调查。
如何存档特定的消息、图片和视频
存档多媒体内容最简单方法是使用 Telegram 桌面应用,在 Windows、macOS 和 Linux 操作系统上都有相应的应用。然后,你只需在图片或视频上点击右键,并点击“另存为”(Save As),就可以将多媒体内容保存在硬盘中。如果图片是以文件的形式发送的,它也会包括上传时的所有元数据。
你可以对你在Telegram应用程序中查看的任何信息进行这样的操作,即使你不是该组的成员。你可以保存所有 Telegram 中的多媒体文件,即便你没有加入某个频道。如果你有一个特定帖子的 URL,例如说 https://t.me/euronews_tr/2011,只要选择“在频道中查看”(VIEW IN CHANNEL),你就可以在 Telegram 应用中打开它。
此外,你可以对原始消息进行截图,以保存时间戳、发表用户,并方便你记住是在哪里找到这个媒体项目。更进一步,你可以通过转发消息到 Show Json 机器人,并将返回的 Json 内容保存在一个单独的文本文件中,就可以保存消息的全部内容的和相应的元数据。Json 是指一种用于计算机可读信息的特定文件格式,这可能与应用程序接口(API)返回的内容相同。请注意,敏感或私人信息永远不应该被转发给机器人。保存元数据很有用,因为它包含了消息的原始信息,包括用户 ID、对话 ID 和完整的时间戳。
如何保存整个频道或者群组消息
Telegram 相比其他聊天平台的一个好处是,你能够以人类可读和机器可读的格式导出整个聊天记录,包括文件和媒体。然而,这一功能在 macOS 上是不可用的。如果你在使用 Mac 或 Linux,最简单的方法是安装 Windows 的虚拟机。VMWare Fusion为非商业用户提供免费许可,关于如何使用这个软件的方法可以在这里找到。
首先,在 Telegram 应用中打开一个对话窗口,可以是私人对话、频道(单个用户向订阅者进行的广播)或群组(许多用户聊天)。如果你有一个这样的链接,格式是https://t.me/s/[用户名] ——比如https://t.me/s/euronews_tr,那么点击这个链接就会出现一个用 Telegram 打开它的选项。
在打开一个群组或频道的情况下(即使不是该频道的订户或该群组的成员),点击右上角的菜单按钮并就可以选择“导出聊天记录”(Export chat history)。
你可以看到几种导出选项供选择,勾选每一个方框将导出相应的多媒体资料。如果将大小限制调到最大,可以保存尽可能多的媒体,但要注意这也会增加导出时间。
你可以选择导出为 HTML 格式或 JSON 格式。HTML 格式是为人类阅读设计的,它可以直接在浏览器中打开,对人工调查最有用。JSON 格式则是为机器阅读而设计,在对导出数据进行分析时最有用。
你也可以指定一个日期范围,如果你只想得到全部频道档案的一个子集,这可以加快进程。如果你只是想导出某一段时间的资料,可以选择一个时间范围,这可以加快导出的速度和减少文件的大小。然后,点击“导出”就可以了,对于很长的对话消息,导出过程可能需要几个小时。
之后,点击相应的 HTML 文件,就可以阅读导出后的消息。
不过,现在导出的资料中仍然无法包括用户在 Telegram 频道中的评论。
如何翻译 Telegram 消息
最近在移动端加入了翻译的功能,只要到“设置” – “语言” 中打开 “显示翻译”的选项就可以,然后,你长按一个消息,就会看到翻译的选项。
不过,你每次只能翻译一条消息,而没有办法翻译整个频道的所有消息。如果你想要翻译整个频道的消息,可以先将它们导出为 HTML 格式,然后用 Chrome 打开文件,之后点击右键,然后选择将这个网页翻译成你想要的语言。
抓取工具和应用程序接口
对于高级用户来说,Telegram 的 API 也提供了非常开放的平台访问权限,使其能够轻松地对消息、多媒体内容,以及用户、频道和群组元数据进行存档。对于 Python 开发人员来说,Telethon API 功能非常齐全。
另一种下载 Telegram 消息的方法是使用非经过 API 的抓取程序。这种方法可能比Telegram 的原生导出功能更快,但它只适用于公共频道,不适用聊天群组。JustAnotherArchivist 的开发的工具 snscrape 在这方面做得很好,Bellingcat 也基于它制作了一个修改版的程序,以方便检索媒体和频道转发的信息。
本文首发于调查媒体 Bellingcat ,全球深度报道网获授权翻译转载
Bellingcat 调查技术组 开发开源调查工具,探索开源调查技术。