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

Twitter API - how to get real time tweets by user

有没有办法通过 Twitter 句柄或 Twitter ID 使用 Tweepy 拉取实时推文?

我试过使用 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 用户名下拉推文?

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

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

它收到用户 ID 列表。

根据 API 文档,这应该 return:

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

没有 return:

  • 提及用户的推文(例如“你好@twitterapi!”)。
  • 不按转推按钮创建的手动转推(例如“RT @twitterapi API 很棒”)。
  • 受保护用户的推文。

备注
您可以同时指定 trackfollow 值,这将导致输入用户创建带有输入关键字 推文的推文。