【问题标题】:Twitter search API: search by tweet idTwitter 搜索 API:按推文 ID 搜索
【发布时间】:2015-12-10 10:16:07
【问题描述】:
我想使用tweet id 向twitter search API 发送查询,但您似乎无法通过拥有其ID 来搜索推文(可能是因为如果您已经拥有该ID,则不需要搜索它)。例如,假设我们有一条推文https://twitter.com/great_watches/status/643389532105256961,我们想将 643389532105256961 发送到搜索 API 以查看该推文是否在搜索 API 上可用。
我需要它,因为我只想将 twitter 搜索 api 与 twitter 流 api 进行比较。
我有一个 python 脚本,它正在监听一些关键字的流,每当有推文发布时,我都喜欢在 twitter 搜索 api 上搜索它,看看它是否也可用。没意义吧?
【问题讨论】:
标签:
python
twitter
twitter-search
【解决方案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
【解决方案2】:
您无法将 Search API 与 Streaming API 进行比较,因为它们都在检索不同类型的信息。
来自Search API docs:
Twitter 搜索 API 是 Twitter v1.1 REST API 的一部分。它允许
查询最近或流行推文的索引和行为
类似于但不完全类似于
Twitter 移动或网络客户端,例如 Twitter.com 搜索。
在参与之前,重要的是要知道 Search API 是
关注相关性而非完整性。这意味着一些推文
并且用户可能会从搜索结果中丢失。如果你想匹配
完整性,您应该考虑改用 Streaming API。
这里根据您提供的信息来解释这个场景。
- 您正在流式传输单词
python 并找到匹配项。
- 您立即获取该匹配项并在搜索 API 上查找它
问题在于,当您从 Streaming API(实时)开始,并且您希望在搜索 API 上找到相同的 API 时,您会遇到更多的冲突 相关的推文和流行将取代它的推文。
您需要重新定义发送到搜索 API 的查询以包含完全相同的查询(即包含多个 python,就像您使用 Streaming API 所做的那样)。