Twitter bot - 使用Tweepy回复特定用户

时间:2016-03-03 10:53:47

标签: python twitter tweepy

我正在尝试编写我的第一个Twitter机器人,而我特别希望它做的是在特定用户推文时回复。而不是搜索提到单词“taco”的每个用户。我想只搜索一小部分人提及“taco'”。例如,我的机器人只查找来自Bob和Sue的推文提及' taco',而不是来自Fred的推文。我找不到我需要的东西。

2 个答案:

答案 0 :(得分:1)

Tweepy文档中,您应该使用方法API.user_timeline来阅读特定的用户推文。

  

<强> API.user_timeline([USER_ID / SCREEN_NAME])

     

返回从中发布的20个最新状态   验证用户或用户指定的

     

参数的:
   user_id - 指定用户的身份
   screen_name - 指定用户的屏幕名称

答案 1 :(得分:1)

您可以通过user timeline API端点完成此操作;但是,根据您要跟踪的术语和用户数量,您必须担心速率限制(用户时间线端点速率限制非常高,300 / app auth / 15分钟,150 /用户身份验证/ 15分钟= 450/15分钟),以及您必须在某个时间间隔手动呼叫端点的事实。

另一种方法是使用流API端点,特别是user stream。关注您要回复的所有人,然后为特定短语创建一些规则。随后用户发布推文,他们应该流式传输到您的用户流端点。您只需要运行一个侦听器,并为跟踪的用户/短语提供一些逻辑。

'data.frame':   28800 obs. of  10 variables:
$ year  : int  2014 2014 2014 2014 2014 2014 2014 2014 2014 2014 ...
$ month : int  7 7 7 7 7 7 7 7 7 7 ...
$ day   : int  31 31 31 31 31 31 31 31 31 31 ...
$ hour  : int  21 21 21 21 21 21 21 21 21 21 ...
$ minute: int  0 0 0 0 0 0 0 0 0 0 ...
$ second: int  0 1 2 3 4 5 6 7 8 9 ...
$ Roll  : num  65.8 65.8 66.1 65.6 65.6 ...
$ Pitch : num  6.35 6.34 6.24 6.4 6.27 ...
$ Yaw   : num  171 172 174 176 176 ...
$ temp1 : num  41.5 41.5 41.5 41.5 41.5 41.5 41.5 41.5 41.5 41.5 ...

你是Tweepy的track = { 'taco': ['Bob', 'Sue'], 'salsa': ['John', 'Steve'], 'guacamole': ['Mary', 'Fred'] }

的子类
StreamListener