使用tweepy来流式传输用户的时间轴和过滤推文

时间:2014-03-26 23:55:15

标签: python twitter tweepy

我几天前开始探索tweepy,并且能够实时流式传输过滤(带关键字)推文。现在我想要不仅流式传输过滤推文,还要传输来自几个特定Twitter用户的推文。这可能是通过使用tweepy吗?似乎stream.userstream()只从我的Twitter帐户获取实时推文而不是其他特定用户,对吗?我已经尝试使用我创建的另一个Twitter帐户进行测试,但它根本没有获取我发推文的任何新推文。

但如果它有效,我可以同时使用stream.userstream()和stream.filter()下载推文吗?如果没有,那么我如何获得过滤的推文和用户'实时推文?

顺便说一下,我使用了@alexhanna的示例代码。

api      = tweepy.API(auth)

def main( mode = 1 ):
follow = []
track  = ['Houston Rockets','Lakers','Chicago Bulls']

listen = SListener(api, 'test')
stream = tweepy.Stream(auth, listen)

try: 
    stream.userstream('NBA','ESPN')
    stream.filter(track = track, follow = follow)

except:
    print "error!"
    stream.disconnect()

真的很感谢你的帮助!感谢。

2 个答案:

答案 0 :(得分:4)

请事先尝试使用不.filter(follow="")的{​​{1}}。 .userstream()只是与您的申请相关联的帐户中的推文。 Here是一个(非常好的注释)示例。

如果您想同时获取用户的推文和过滤的推文,则需要制作两个单独的Userstream个对象。

修改:我链接到的page现已死亡。 Internet Archive链接应无限期保持活动状态,但解决用户问题的所有相关信息已包含在此答案中。我没有复制并粘贴链接页面中的示例,因为我不是它的作者,因为它只是一个示例,说明正确使用Stream()侦听器。

答案 1 :(得分:2)

如果您要流式传输特定用户的时间轴:

1)在this网站或Google上找到其ID,以获取如何查找Twitter ID

2)使用以下代码:

    from tweepy import OAuthHandler
    from tweepy import Stream
    from tweepy import StreamListener

    listener = StreamListener()
    auth = OAuthHandler(config.API_KEY, config.API_SECRET)
    auth.set_access_token(config.ACCESS_TOKEN, config.ACCESS_TOKEN_SECRET)
    stream = Stream(auth, listener)
    stream.filter(follow=['3511430425']) # user ID for random account