Python Tweepy对于大型twitter账户来说速度很慢
我正在用tweepy制作一个twitter监视器,每秒钟,它都会通过user_timeline(user,count=2)从一个帐户获取最近的2条推文,如果是新推文,它会发送一个不一致通知 在像我这样的一个小账户上,这一切都运行得非常好,我只有几条推文。自tweet创建以来,它的延迟只有0.5秒。现在,我正在用更大的帐户进行测试,例如,创建的推文总数超过1000条。现在延迟只有2秒,最多30秒 你知道为什么会这样吗?还有其他更有效的方法来完成同样的任务吗?我最初认为这是因为默认情况下它会获取最新的200条tweet,但我改变了这一点,在user_timeline函数中添加了“count=2”,延迟仍然相同 PD: 我只使用应用程序身份验证,这是我代码的一部分:Python Tweepy对于大型twitter账户来说速度很慢,python,asynchronous,twitter,tweepy,twitterapi-python,Python,Asynchronous,Twitter,Tweepy,Twitterapi Python,我正在用tweepy制作一个twitter监视器,每秒钟,它都会通过user_timeline(user,count=2)从一个帐户获取最近的2条推文,如果是新推文,它会发送一个不一致通知 在像我这样的一个小账户上,这一切都运行得非常好,我只有几条推文。自tweet创建以来,它的延迟只有0.5秒。现在,我正在用更大的帐户进行测试,例如,创建的推文总数超过1000条。现在延迟只有2秒,最多30秒 你知道为什么会这样吗?还有其他更有效的方法来完成同样的任务吗?我最初认为这是因为默认情况下它会获取最新
async def monitor_user(self, api, username, last_updated):
data = []
try:
fut = self.client.loop.run_in_executor(
None, lambda: api.user_timeline(username, count=2)
)
await fut
tweets = fut.result()
您应该使用流式处理端点:
这样,您就可以跟踪5000名twitter用户,跟踪400个关键字,并实现25个位置框:
发布的新状态在2秒内到达,比查询单个twitter帐户要快得多。用户时间线端点的速率限制为每15分钟180次查询调用。这意味着你想要跟踪的人越多,你被允许检查的频率就越低,这意味着会有很大的延迟
流式处理端点的缺点是它只显示新发布的状态 您应该使用流式处理端点:
这样,您就可以跟踪5000名twitter用户,跟踪400个关键字,并实现25个位置框:
发布的新状态在2秒内到达,比查询单个twitter帐户要快得多。用户时间线端点的速率限制为每15分钟180次查询调用。这意味着你想要跟踪的人越多,你被允许检查的频率就越低,这意味着会有很大的延迟 流式处理端点的缺点是它只显示新发布的状态