我几天前开始探索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()
真的很感谢你的帮助!感谢。
答案 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