Telegram 关键词趋势
一种分析工具,用于探索 Telegram 聊天平台上出现的仇恨言论、虚假信息和感兴趣的叙述。请谨慎使用此工具,因为它没有内容审核或过滤功能。您对可能导出的内容负责。
简而言之,该工具允许您使用关键字/短语列表搜索您关注的所有频道,并通过图形可视化以各种格式返回所有匹配结果。它还可以选择下载媒体,因此可以用作媒体搜索引擎(目前此功能存在一些错误 - 不要用作详尽的媒体搜索工具)。
正在运行的工具的屏幕截图,探索俄罗斯全面入侵乌克兰期间的仇恨言论
主要特点
- 该工具旨在与关注特定主题的多个频道的马甲傀儡一起使用。
- 您可以通过编辑api_values.txt文件来更改 API 详细信息以使用不同的帐户。
- 该工具的设计类似于谷歌趋势,显示关键术语的每日数量和随时间变化的地图。
- 日期过滤允许您将搜索范围缩小到更短的时间段。如果留空,它将自动缩放到数据的最大范围。
- 该工具使用 Telegram 搜索,这意味着它特别适合俄语搜索,并且通常可以很好地处理词尾。
- 为每个关键术语生成单独的图表。
- 生成聚合图,显示同一图上搜索中的所有关键术语以进行比较。
- 编译 PDF 报告,显示图表并打印完整代码,用于数据审核和证据验证。
- 输出 TXT 文件摘要,包括所有主要统计数据,例如运行日期、搜索的频道以及每个频道的相对音量。
- 可选的结果媒体下载(这极大地(就像真的极大地)延长了运行该工具所需的时间)
- 下载的媒体文件名为channelid_postid,因此很容易找到原始媒体。
此脚本在用户所属的 Telegram 频道中搜索包含指定搜索词的消息。它以 HTML 和 CSV 格式导出搜索结果、生成报告并绘制每天的消息计数。
它旨在以与 Google 趋势大致相同的方式监控搜索词的趋势。这对于识别某些事件后出现的仇恨言论或讨论/叙述非常有用。
当前版本没有对数据进行任何重大调整,例如,图表没有显示根据所有消息的发生率调整的术语发生率。这意味着应该进行进一步的分析,以确保术语的急剧上升不会与一般活动的急剧上升相混淆。因此,图表输出应被视为需要进一步研究和统计分析的指示。
探索俄罗斯全面入侵乌克兰期间仇恨言论的示例结果
此图是一个示例结果,显示了正在调查的渠道如何看到特定术语的使用激增。
生成的报告示例
该图像是报告的示例结果,该报告是一个 PDF 文档,概述了代码并在最后打印了脚本。这意味着无论发生什么变化或使用什么版本的脚本,都可以仔细检查确切的过程。
txt统计报告中生成的一些信息的屏幕截图
该工具已经过英语和俄语搜索词的测试。
警告:此工具使用您关注的群组列表作为其搜索来源的列表。它可能包括个人聊天/群组。为了 OPSEC,建议使用 Burner 帐户并仅关注特定于调查的聊天。
安装
通过在终端或命令提示符中运行以下命令来克隆 tg-keyword-trends 存储库:
git clone https://github.com/thomasjjj/tg-keyword-trends.git
导航到 tg-keyword-trends 目录:
cd tg-keyword-trends
使用 pip 安装所需的 Python 依赖项:
pip install -r requirements.txt
特征
- 图表根据最旧和最新的帖子调整比例。
- 生成 CSV 以供进一步处理。
- 生成用于打开链接的 HTML 文件。
- 生成报告,记录抓取的关键详细信息(日期、访问的渠道等),以便对结果进行审核。
- 媒体下载
用法:
- 将搜索词(每行一个)添加到 .txt 文件中。系统很快就会提示您输入文件位置。
- 确保您已准备好 Telegram API 详细信息 [https://my.telegram.org/auth]
- 该脚本将搜索用户所属的所有频道。
- 搜索结果将作为 HTML 和 CSV 文件导出到带时间戳的输出文件夹中。
- 该脚本将生成包含每个频道的搜索结果的报告。
- 该脚本将在图表中绘制每个搜索词每天的消息计数并将其保存为图像。
功能:
- retrieve_api_details :从“api_details.txt”读取API详细信息。
- check_search_terms_file :从“search_terms.txt”读取搜索词或提示用户输入搜索词。
- create_output_directory :创建一个带时间戳的目录来存储输出文件。
- print_colored :使用 colorama 模块以指定颜色打印文本。
- render_url :使用 URL 和消息文本生成超链接的 HTML 代码。
- generate_report :生成包含每个通道的搜索结果的报告。
- plot_keyword_Frequency :在图表中绘制每个搜索词每天的消息计数。
尖端:
- 由于具有日期过滤功能,该工具还可以用作 Telegram 搜索引擎,允许对结果进行日期过滤。只需在所需的日期窗口中运行搜索,然后打开输出 html 文件即可获取匹配消息及其链接的列表。
- 该工具自动处理时区并进行调整。编辑与时间和日期格式相关的代码的任何部分时要特别小心,因为这很难调试。
- 建议您为每个主题创建一个专用的 Telegram 帐户。这将使您能够仅定位相关频道并消除噪音。
- 您不需要分别搜索单数和复数名词,因为这是由 Telegram 的搜索处理的(一般来说,对于英语和俄语)。
*此图显示了“Bakmut”各种地名的用法,包括旧苏联名称。该工具的用途之一是验证 OSINT 研究中使用的搜索术语。从这里可以看出,如果他们只使用城市当前的官方名称而不是过去和有争议的名称,那么他们的收藏潜力可能会受到限制。 *
依赖项:
- 熊猫~=2.0.0
- matplotlib~=3.7.1
- 马拉松~=1.28.2
- 色度~=0.4.6
- 枕头~=9.5.0
- 报告实验室~=3.6.12
- numpy~=1.24.2
- pytz~=2023.3
- tqdm~=4.65.0
Python版本:Python 3.11或更高版本
待办事项