简介

 

开发者、学生和研究人员利用 Twitter 数据来研究各种话题。你可能需要利用过去几天的话题标签、关键词组合等研究围绕某个话题展开的对话。例如,也许你想要研究关于周末一场足球比赛的推文的情绪。你可以使用 Twitter 的近期搜索端点来获取此类用例的数据。该端点可为你提供过去 7 天内来自 Twitter 的对话。

 

在本指南中,你将学习如何:

  • 确定你想要研究的历史对话

  • 连接并验证近期搜索端点,以接收推文

  • 分析历史对话的数据

 

前提条件

 

 

需要考虑的步骤

 

步骤 1: 确定你想要研究的历史对话

 

首先,你需要确定想要研究的对话类型。例如,你可能决定研究过去几天所有关于气候的推文。为此,你可能要搜索带有某个话题标签或单词的推文。一旦确定了这些词,你将需要把它们转换成一个查询(也称为规则或筛选条件)。你可以定义规则,以包括/排除关键字、图像等。你还可以指定某些账号名称来从中获取推文。请查看指南,其中向你展示了如何使用近期搜索端点所支持的操作符来获取所需数据。
 

 

步骤 2: 验证并连接到近期搜索端点,以接收推文

 

决定了你想要的数据和将使用的操作符后,你就可以连接到近期搜索端点。下面的示例展示了如何使用 cURL 来实现此目的。要进行身份验证,请使用你的查询将 $BEARER_TOKEN 替换为开发者门户应用中的不记名令牌以及 $QUERY

 

      curl -X GET -H "Authorization: Bearer $BEARER_TOKEN" "https://api.twitter.com/2/tweets/search?tweet.fields=created_at,author_id,lang&query=$QUERY"
    

 

例如,如果你想要得到所有关于话题标签 #Caturday 的带图像的推文(转发推文除外),你的查询将如下所示:

 

“#caturday has:images -is:retweet”

 

由此,你的 cURL 调用如下所示:

 

      curl -X GET -H "Authorization: Bearer $BEARER_TOKEN" "https://api.twitter.com/labs/2/tweets/search?query=caturday%20has:images%20-is:retweet&tweet.fields=created_at,author_id,lang"
    

 

你也可以使用我们的某个代码示例连接到近期搜索端点

 

 

默认情况下,这将返回 10 个推文对象。你也可以指定每次 API 调用要接收的最大结果数。为此,你可以在 API 调用中使用 max_results 查询参数。为了获取其他推文,你需要处理分页。为此,你需要从名为 meta 的对象中访问 next_token,并进行连接来获取下一组 10 个推文的其他推文对象(默认为 10 个,除非你用 max_results 参数指定一个数字),直到不再有 next_token 可用为止。 

 

默认情况下,你将获得每条推文的 ID 和文本。不过,你可以自定义其他要作为推文有效负荷的一部分返回的字段。你可在查询中添加其他字段扩展,从而在有效负荷中包含这些附加字段。 


你可以使用 REST 客户端(如 PostmanInsomnia)从近期搜索端点获取数据,而不是从你的终端进行 cURL 调用。我们的 Postman 集合将帮助你快速开始调用近期搜索端点。

 

 

步骤 3: 分析历史对话的数据

 

Twitter API 提供了一个研究历史数据的绝佳机会。你可能有兴趣使用 Twitter 数据进行分析的示例包括:

  • 按位置绘制推文地图

  • 对以往事件的推文进行情感分析

  • 识别 Twitter 上的影响力人物

 

编程语言中提供了各种库(如 Python、R 等)可用于分析从 Twitter API 获得的数据。 

 

在 Python 中,你可以使用 pandasnumpy 等库进行数据分析和整理。你也可以使用 matplotlib 等库从 Twitter 数据中构建可视化效果。

 

在 R 中,你可以使用 Tidyverse(用于数据科学的 R 包集合)等工具来进行数据分析。你可以使用 ggplot2(Tidyverse 的一部分)借助 Twitter 数据构建数据可视化效果。

 

你可以使用上面提到的这些库来构建各种各样的可视化效果。一些可使用 Twitter 数据构建此类可视化效果的示例包括:

  • 显示发推频率的直方图

  • 按地理位置显示推文的地图

  • 趋势的时间序列分析


请查看此示例应用,它演示了如何使用近期搜索端点来分析自己的推文情绪。

 

后续步骤