2

我想发送查询以twitter search API使用,tweet id但您似乎无法通过拥有其 ID 来搜索推文(可能是因为如果您已经拥有该 ID,则不需要搜索它)。例如,假设我们有一条推文https://twitter.com/great_watches/status/643389532105256961,我们想将 643389532105256961 发送到搜索 API 以查看推文是否在搜索 API 上可用。

我需要它,因为我只想将 twitter 搜索 api 与 twitter 流 api 进行比较。我有一个 python 脚本,它正在监听一些关键字的流,每当有推文发布时,我都喜欢在 twitter 搜索 api 上搜索它,看看它是否也可用。没意义吧?

4

2 回答 2

1

您无法将 Search API 与 Streaming API 进行比较,因为它们都在检索不同类型的信息。

来自搜索 API 文档

Twitter搜索 API是 Twitter 的 v1.1 REST API 的一部分。它允许对最近或流行推文的索引进行查询,其行为类似于但不完全类似于 Twitter 移动或 Web 客户端中可用的搜索功能,例如 Twitter.com 搜索。

在参与之前,重要的是要知道Search API 关注的是相关性而不是完整性。这意味着搜索结果中可能会丢失一些推文和用户。如果您想匹配完整性,您应该考虑使用 Streaming API。

以下是根据您提供的信息来解释该场景。

  1. 您正在流式传输单词python并找到匹配项。
  2. 您立即获取该匹配项并在搜索 API 上查找它

问题在于,当您从 Streaming API(实时)开始时,您希望在搜索 API 上找到相同的,您将在更相关的推文和流行的推文中发生冲突将取代它。

您需要重新定义发送到搜索 API 的查询以包含完全相同的查询(即包含比python您使用 Streaming API 所做的更多的查询)。

于 2015-10-06T14:16:50.173 回答
1

您可以使用 tweepy api 获取它。从https://apps.twitter.com/获取消费者密钥、秘密和访问密钥、秘密。然后运行以下命令:

consumer_key = 'XXXX'
consumer_secret = 'XXXX'
access_key = 'XXXX-XXXX'
access_secret = 'XXXX'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

tweet = api.statuses_lookup(['643389532105256961'])
a1[0].text # Prints the message

更多信息在这里http://docs.tweepy.org/en/v3.5.0/api.html#API.statuses_lookup

于 2016-08-17T08:18:01.887 回答