Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tweepy对于大型twitter账户来说速度很慢_Python_Asynchronous_Twitter_Tweepy_Twitterapi Python - Fatal编程技术网

Python Tweepy对于大型twitter账户来说速度很慢

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秒 你知道为什么会这样吗?还有其他更有效的方法来完成同样的任务吗?我最初认为这是因为默认情况下它会获取最新

我正在用tweepy制作一个twitter监视器,每秒钟,它都会通过user_timeline(user,count=2)从一个帐户获取最近的2条推文,如果是新推文,它会发送一个不一致通知

在像我这样的一个小账户上,这一切都运行得非常好,我只有几条推文。自tweet创建以来,它的延迟只有0.5秒。现在,我正在用更大的帐户进行测试,例如,创建的推文总数超过1000条。现在延迟只有2秒,最多30秒

你知道为什么会这样吗?还有其他更有效的方法来完成同样的任务吗?我最初认为这是因为默认情况下它会获取最新的200条tweet,但我改变了这一点,在user_timeline函数中添加了“count=2”,延迟仍然相同

PD: 我只使用应用程序身份验证,这是我代码的一部分:

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次查询调用。这意味着你想要跟踪的人越多,你被允许检查的频率就越低,这意味着会有很大的延迟

流式处理端点的缺点是它只显示新发布的状态