Tweepy 跟踪术语和关注用户

2024-04-06

我正在尝试构建一个应用程序来使用流式 Twitter API 跟踪特定用户的一些术语。

我基于此使用 tweepy 为流 api 制作了一个工作 python 脚本tutorial http://andrewbrobinson.com/2011/07/15/using-tweepy-to-access-the-twitter-stream/。但是,只有当我按术语或按用户 ID 跟踪推文时,它才有效,但现在同时按两者跟踪。当我尝试使用两者进行搜索时,API 会返回来自任何用户的推文。我的代码在这里:

#Acessando a API do twitter com as chaves
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token_key, access_token_secret)

#Chamando o Listener com o tweepy
api = tweepy.API(auth)

#Chama o stream e passa o que buscar no twitter.
sapi = tweepy.streaming.Stream(auth, CustomStreamListener())
list_users = ['11111','22222']   #Some ids
list_terms = ['term1','term2']   #Some terms
sapi.filter(follow=list_users, track=list_terms)

这两个变量(list_users, list_terms) 分别是用户 ID 列表和术语列表。

如何按用户和术语过滤推文流?有什么办法可以用 tweepy 过滤器做到这一点吗?或者我应该在检索推文后进行验证吗?


Twitter 流 API 评估不同的条件OR逻辑,即返回推文与术语和用户的并集。所以你必须实现自定义on_data函数以便过滤AND.

请注意,您的条件最多为5000 个用户和 400 个术语 https://dev.twitter.com/discussions/4120,并且由于速率限制可能是一个问题,因此您需要为 api 提供产生较低推文流的条件,并在后处理中使用所有其余条件过滤传入数据。

您最多可以跟踪 5,000 个用户和 400 个关键字 - 速率限制确实在 Firehose 的 1% 处生效,因此,如果在任何时候,您的关键字和用户联合产生的推文量超过了发生在所有推文中的 1%。在 Firehose 上“实时”,您将获得最多 1% 的推文以及速率限制通知,通知您错过了多少条推文。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tweepy 跟踪术语和关注用户 的相关文章

随机推荐