如何使用Tweepy从用户的时间轴实时获取推文

时间:2019-10-21 14:35:22

标签: python twitter data-science tweepy

我正在尝试从用户的时间轴中实时提取推文。然后,我想对这些推文进行一些分析。阅读文档后,看来此用例需要使用tweepy.Stream。我已完成以下操作:

stream.filter(follow='25073877')

但是Twitter的过滤器API声明以下内容:

  • 用户创建的推文。
  • 由用户转发的推文。
  • 回复用户创建的任何推文。
  • 由用户创建的任何Tweet的转发。
  • 手动回复,无需按回复即可创建 按钮(例如“我同意@twitterapi”)。

似乎这将返回大量与我的用例无关的推文。我是否必须使用这种方法,然后按屏幕名称进行筛选,才能仅获得真实用户的推文?这似乎根本不对。

替代方法似乎是api.user_timeline类,但这不是流API。因此,我是否使用此API并每秒点击一次?我似乎找不到合适的示例来说明如何最好地完成用例。

1 个答案:

答案 0 :(得分:0)

是的,您需要按screen_name进行过滤,或者也许可以检查是否为转推。

我不推荐第二种方法,因为您将获得更多的推文,因为您将不得不过滤掉先前请求中已经收到的推文,如果您不这样做,则可能会达到API查询限制时间不正确。

这是过滤器功能的签名:

    def filter(self, follow=None, track=None, is_async=False, locations=None,
               stall_warnings=False, languages=None, encoding='utf8', filter_level=None)

哪个映射到此Twitter API request

这里是explanation of the parameters