Python 如何从用户实时获取推文';使用Tweepy创建时间轴

Python 如何从用户实时获取推文';使用Tweepy创建时间轴,python,twitter,data-science,tweepy,Python,Twitter,Data Science,Tweepy,我试图从用户的时间线上实时获取推文。然后我想对这些推文做一些分析。在阅读了文档之后,我似乎需要在这个用例中使用tweepy.Stream。我已经做了以下工作: stream.filter(follow='25073877') 但Twitter的过滤API声明如下: 用户创建的推文 用户转发的推文 回复用户创建的任何推文 用户创建的任何推文的转发 手动回复,无需按回复即可创建 按钮(例如“@twitterapi我同意”) 这似乎会返回大量与我的用例无关的tweet。我是否必须使用这种方法,然后

我试图从用户的时间线上实时获取推文。然后我想对这些推文做一些分析。在阅读了文档之后,我似乎需要在这个用例中使用tweepy.Stream。我已经做了以下工作:

stream.filter(follow='25073877')

但Twitter的过滤API声明如下:

  • 用户创建的推文
  • 用户转发的推文
  • 回复用户创建的任何推文
  • 用户创建的任何推文的转发
  • 手动回复,无需按回复即可创建 按钮(例如“@twitterapi我同意”)
这似乎会返回大量与我的用例无关的tweet。我是否必须使用这种方法,然后按屏幕名称过滤,以仅获取真实用户的推文?这似乎一点也不正确


另一种选择似乎是api.user\u timeline类,但它不是流式api。因此,我是否使用此API并每秒点击它?我似乎找不到合适的例子来说明如何最好地完成我的用例。

是的,您需要根据屏幕名称进行筛选,或者您可以检查它是否是转发

我不推荐第二种方法,因为你会得到更多的tweet,因为你必须过滤掉你在以前的请求中已经收到的tweet,而且如果你没有正确的时间,你可能会达到API查询限制

这是筛选函数的签名:

def过滤器(self,follow=None,track=None,is_async=False,locations=None,
暂停警告=False,语言=None,编码=utf8',过滤器级别=None)
与此对应


这里是。

谢谢您的确认。很遗憾,您不能在API中应用这些过滤器,因为对我来说这似乎是一个非常常见的用例。如果我追随@realDonaldTrump,那么我似乎必须过滤潜在的10000条推文才能得到他的一条推文?如果你想象一下他的每一条推文的转发率。我做了一个测试并过滤了“RT@”,但即使这样,也只覆盖了这种方法生成的推文的50%。我的目标是实时监控影响者的个人帖子,但鉴于API在这种情况下返回的噪音量,我认为这样做是不可行的?有什么想法可以有效地扩展这个功能吗?你是否也会收到来自用户推文的转发?我会说你会收到他的转发和回复等。无论如何,我不认为即使数据量很大,你也不能处理它们。