使用tweepy从用户关注的用户流式传输推文

时间:2015-03-04 23:56:57

标签: twitter tweepy

我使用Tweepy Streaming方法尝试获取特定用户的所有推文,包括用户创建的推文以及用户所关注的其他用户访问时间线的推文。

我尝试了几种组合,例如,使用用户ID,这只给了我用户推送的推文:

    l = StreamListener()
    streamer = tweepy.Stream(auth=auth, listener=l)
    streamer.filter(follow=['3071126254'])

其余的试验都让我不断得到Twitter的406回复:

    l = StreamListener()
    streamer = tweepy.Stream(auth=auth, listener=l)
    streamer.filter(follow=[''])

    l = StreamListener()
    streamer = tweepy.Stream(auth=auth, listener=l)
    streamer.filter()

知道这是否可行?我总是可以使用REST API来查询用户时间线,然后确保我没有存储重复的推文...但是我不能从用户时间线流式传输所有推文看起来很奇怪......

谢谢, 亚历

1 个答案:

答案 0 :(得分:2)

如果有人遇到同样的情况,仔细查看官方的Twitter文档,它会说:

  

with参数控制接收的消息类型。该   User Streams的默认值为= followings,它提供有关的数据   用户和用户的关注(账户中的   认证用户遵循)。使用= user的设置仅发送事件   关于用户,而不是关于他们的事件。

因此,似乎正确的选项是使用userstream而不是filter,然后,这可以工作:

    l = StreamListener()
    streamer = tweepy.Stream(auth=auth, listener=l)
    streamer.userstream(_with='followings')

然后您将收到有关on_data回调方法的通知。希望这有帮助!