我使用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来查询用户时间线,然后确保我没有存储重复的推文...但是我不能从用户时间线流式传输所有推文看起来很奇怪......
谢谢, 亚历
答案 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回调方法的通知。希望这有帮助!