我的项目是从twitter下载极其庞大的ID-s。 也称为普通用户拥有少量粉丝(100-200)。 我用这个流式传输Twython包,这是我程序的主要部分:
use strict;
use warnings;
use 5.016;
my %hash = (one => 1);
say $hash{one};
say $hash->{one};
这是一个非常简单的鳕鱼,并且对于大量的ID-s也很有效,但是因为函数tw.get_follower_id() - s速率限制是5000 id /分钟,这就是为什么时间睡眠功能在代码中。
我的问题是,是否有可能加快此代码的速度?
也许这样程序在每次查询后都不会暂停,只有在真正需要时才会暂停。 有人可以帮忙吗?
答案 0 :(得分:0)
Twitter在每个API响应发送的标头中提供速率限制信息。所以你可以检查一下,然后以允许的最大速率打电话。您还可以通过特定的速率限制API调用从Twitter请求您的速率限制状态,并且不会降低要检查的速率限制。我自己不使用Twython,所以我不能在Twython中建议如何这样做。
它不会给你额外的收获 - 也许只有几个百分点。
或者,偶尔碰到速率限制并没有什么坏处 - 你会得到一条错误信息。只要它不是太频繁,Twitter就不会介意。
基本的限速速度上限 - 没有办法绕过那个。也许Gnip有一个付费服务,可以让你更快地下载这些数据?