【问题标题】:How to stream tweets from a specified user (only stream when the tweet is published by this user) using tweepy如何使用 tweepy 流式传输来自指定用户的推文(仅在该用户发布推文时流式传输)
【发布时间】:2019-08-23 23:07:59
【问题描述】:

我尝试了以下代码:

    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

运行此代码时,我得到了许多垃圾推文或其他用户转发的推文。 (假设&lt;user id&gt;是名人,拥有数百万粉丝。粉丝一直在分享推文)


但我想通过这个特定的&lt;user id&gt; 流式传输only 发布的原始推文。我该如何实施?提前致谢。

【问题讨论】:

    标签: python twitter stream tweepy


    【解决方案1】:

    official documentation 表示使用follow 参数可以得到:

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

    所以你只需要跳过不是由指定用户发布的推文:

    def on_status(self, status):
        if status.user.id_str != '<user_id>':
            return
        print(status.text)
    

    【讨论】:

    • 这也是我选择的解决方案 - 删除不是由特定帐户生成的任何内容。
    猜你喜欢
    • 2018-03-17
    • 1970-01-01
    • 2018-10-14
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    相关资源
    最近更新 更多