Twitter API - 如何通过用户获取实时推文

4

有没有办法使用Tweepy通过Twitter账户或Twitter ID获取实时推文?

我尝试使用Twitter Streaming API,但我只能获得按关键字过滤的推文:

import tweepy
import json

# Import the necessary methods from tweepy library
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

# Variables that contains the user credentials to access Twitter API 
access_token = "INSERT ACCESS TOKEN"
access_token_secret = "INSERT ACCESS TOKEN SECRET"
consumer_key = "INSERT CONSUMER KEY"
consumer_secret = "INSERT CONSUMER SECRET"

# This is a basic listener that just prints received tweets to stdout.
class StdOutListener(StreamListener):

    def on_data(self, data):
        print data
        return True

    def on_error(self, status):
        print status


if __name__ == '__main__':
    # This handles Twitter authentication and connection to Twitter Streaming API
    l = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    stream = Stream(auth, l)
    stream.filter(track=['european central bank'])

有没有办法按照 Twitter 用户名获取推文?

1个回答

6

您应该可以像这样传递follow关键字:

stream.filter(follow=['user_id'])

它接收用户ID列表。
根据API文档,它应该返回以下内容:
  • 用户创建的推文。
  • 用户转发的推文。
  • 回复任何由用户创建的推文。
  • 由用户创建的推文的转推。
  • 手动回复,不需要按回复按钮创建(例如“@twitterapi我同意”)。
它不会返回以下内容:
  • 提到用户的推文(例如“你好,@twitterapi!”)。
  • 没有按Retweet按钮创建的手动Retweets(例如“RT @twitterapi The API is great”)。
  • 受保护用户的推文。
注意:
您可以同时指定跟踪和关注值,这将导致具有输入关键字或由输入用户创建的推文。

嘿Forge,有没有办法接入受保护的用户? - Pavel Zagalsky
如何只获取原始用户创建的推文,而不包括其他任何东西(转发等)? - Sam Chats

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接