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