如何使用 tweepy 流式传输来自指定用户的推文(仅当该用户发布推文时才流式传输)

2024-03-07

我尝试了以下代码:

    class MyListener(StreamListener):
        def on_data(self, data):
            print(data)
            return True

    listener = MyListener()
    auth = OAuthHandler(config.API_KEY, config.API_SECRET)
    auth.set_access_token(config.ACCESS_TOKEN, config.ACCESS_TOKEN_SECRET)
    stream = Stream(auth, listener)
    stream.filter(follow=['<user_id>'])  # assume this user is a celebrity

运行此代码时我得到的是许多垃圾邮件推文或其他用户的转发。 (假设这个<user id>是一位拥有数百万粉丝的名人。关注者一直在分享推文)


但我想流式传输发布的原始推文only通过这个具体的<user id>。我怎样才能实现这个?提前致谢。


The 官方文档 https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters说使用follow你得到的参数:

  • 用户创建的推文。
  • 由用户转发的推文。
  • 回复用户创建的任何推文。
  • 转发用户创建的任何推文。
  • 手动回复,无需按回复按钮即可创建(例如“@twitterapi 我同意”)。

因此,您只需跳过不是由指定用户发布的推文:

def on_status(self, status):
    if status.user.id_str != '<user_id>':
        return
    print(status.text)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 tweepy 流式传输来自指定用户的推文(仅当该用户发布推文时才流式传输) 的相关文章

随机推荐