python - 为什么有些推文在搜索 api 中而不是在流 api 中,反之亦然

标签 python twitter tweepy twitter-search

我有一个脚本,它使用 twitter streaming api 将短语(例如“python”)的传入推文存储到数据库表“A”中。随后,另一个脚本使用 twitter search api 搜索相同的短语。并将结果存储到表“B”中。我的问题是为什么“A”中有些推文不在“B”中,反之亦然。

我可以想到在“B”中而不是在“A”中包含推文的一个原因:

“A”仅包含流 api 启动后发布的推文,而搜索 api 返回上周的结果。如果流式API已经运行超过一周,那么“B”中不能有任何不在“A”中的推文。

我知道在“A”中包含一些推文而不是在“B”中的两个原因:

  1. 搜索 API 仅返回上周的结果,而流式处理 API 返回所有内容
  2. 搜索 API 仅返回部分结果,而不是全部结果,因为其重点不在于完整性。

我想确认一下我的理解是否正确。

最佳答案

对于“B”而不是“A”,你是正确的。您所包含的搜索 API 链接就是一个重要的迹象:

It allows queries against the indices of recent or popular Tweets...

对于“A”而不是“B”,你也是正确的,但有一些小错误。

  1. Streaming API 不会返回所有内容,它只会返回 1% 的推文总数。 1% 过滤器是在 Twitter 内部完成的, 没有任何迹象表明它是如何完成的。不久前有一个关于修复 1% 以使其成为真正的 1% 的公告,但我似乎找不到我阅读它的链接。
  2. 使用 Streaming API 时,您还会受到以下问题的影响(更常见):
    • 公共(public)直播限制(达到 1%)
    • 失速警告(警告)

其他几个取决于您的使用 https://dev.twitter.com/streaming/overview/messages-types

关于python - 为什么有些推文在搜索 api 中而不是在流 api 中,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32689558/

相关文章:

python - 为什么 numba 在 (nopython=True) 时抛出有关 numpy 方法的错误?

python - 保持运行/重新启动 python 脚本 (TwitterAPI)

php - 如何使用 OAuth 从 PHP 发送推文?

python - SQLAlchemy 忽略查询中的特定字段

python - 在 Python 表达式中使用字符串(代表逻辑运算符)

python - 有人试过 Solace 吗? Solace - 多语言支持平台

iphone - OAuthTwitterController 委托(delegate)崩溃

twitter - 使用一个帐户中的 Twitter API 来从另一个帐户中发推文?

python - Macbook PyCharm 上的 tweepy -- "async"语法无效

python - 使用 tweepy 流式传输 Twitter 时间线