Twitter 搜索 API:按推文 ID 搜索

Twitter search API: search by tweet id

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

我需要它,因为我只想比较 Twitter 搜索 api 和 Twitter 流媒体 api。 我有一个 python 脚本,它正在监听一些关键字的流,每当有推文出现时,我喜欢在 twitter 搜索 api 上搜索它,看看它是否也可用。没意义吧?

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

来自Search API docs

The Twitter Search API is part of Twitter’s v1.1 REST API. It allows queries against the indices of recent or popular Tweets and behaves similarily to, but not exactly like the Search feature available in Twitter mobile or web clients, such as Twitter.com search.

Before getting involved, it’s important to know that the Search API is focused on relevance and not completeness. This means that some Tweets and users may be missing from search results. If you want to match for completeness you should consider using a Streaming API instead.

根据您提供的信息,对场景进行说明。

  1. 你正在流式传输 python 这个词,你找到了一个匹配项。
  2. 您立即获取该匹配项并在搜索中查找 API

问题是当您从流式传输 API(实时)开始时,您希望在搜索中找到相同的流式传输 API在更多相关推文和流行推文将取代它的情况下,将会发生冲突。

您需要重新定义发送到搜索 API 的查询以包括完全相同的查询(即包括超过 python,就像您对 Streaming API 所做的一样).

您可以使用 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