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

时间:2016-03-10 16:11:37

标签: python twitter tweepy

有没有办法通过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'])

无论如何我可以通过推特用户名下拉推文吗?

1 个答案:

答案 0 :(得分:6)

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

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

它会收到一个用户ID列表。

API文档中,应返回:

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

它不会返回:

  • 推文提及用户(例如“Hello @twitterapi!”)。
  • 手动转推是在不按下转推按钮的情况下创建的(例如“RT @twitterapi,API很棒”)。
  • 受保护用户的推文。

注意
您可以同时指定trackfollow值,这会产生包含输入用户创建的输入关键字推文的推文。