解决新浪微博API调用限制 突破rate_limit_status瓶颈原文地址:解决新浪微博API调用限制 突破rate_limit_status瓶颈作者:goao 新浪微博开放平台API的调用和TWITTER接口一样,都是受限的,以小时为单位进行限定。
他有两个限制原则 1.用户不登录基于IP的限制,每小时1000次 2.用户登录了基于用户的限制,每小时1000次
如果应用是用户不登录的那么就是对IP进行限制,建议登录登录了才有办法突破瓶颈,否则免谈
新浪给出了具体的限定规则 http://open.t.sina.com.cn/wiki/index.php/Rate-limiting?retcode=0
开发者可以使用rate_limit_status接口查看调用频率
rate_limit_status接口文档 http://open.t.sina.com.cn/wiki/index.php/Account/rate_limit_status
接口返回如下信息 Array ( [remaining_hits] => 999 [hourly_limit]=> 1000 [reset_time_in_seconds] =>2717 [reset_time] => Tue Dec 14 17:00:00 +0800 2010)
分别代表 剩余数量 999 次, 每小时限制 1000 次, 计数器重置剩余时间 2717 秒, 下次重置时间 17点。
这样的调用频率对非授权类的小型应用来说就已经不够用了,最简单的办法就是采用多账号,多APP_KEY的办法,等于是做一个账号轮询
首先多注册几个微博账号,存入数组,每次随机调用一个,这样很容易就使得限制达到3000, $wb_id = array('weiboid1@gmail.com|password','weiboid3@gmail.com|password','weiboid3@gmail.com|password');
用同样的办法再罗列几个APP_KEY的话重复组合,那么就更多了,比如用2个APP_KEY,3个账号,限制就可以达到6000。
我本人用了3个APP_KEY,4个账号,每小时1.2万的量,足够了。
另外说一个快速注册微博账号的办法 第一步, 去gmail注册一个长账号,多长呢?反正越长越好,一个原则字母长度超过你想要注册的微博账户数量 比如 asfwefsagasgfasddasfasdg@gmail.com
第二步, 用这个账号去新浪注册 第一次用 asfwefsagasgfasddasfasdg@gmail.com 第二次用 a.sfwefsagasgfasddasfasdg@gmail.com 第三次用 as.fwefsagasgfasddasfasdg@gmail.com .... 以此类推,这样只要一个邮箱可以注册多个新浪微博ID。不需要来回重复注册邮箱。 |
|