解决新浪微博API调用限制 突破rate_limit_status瓶颈
新浪微博開放平臺(tái)API的調(diào)用和TWITTER接口一樣,都是受限的,以小時(shí)為單位進(jìn)行限定。
?
他有兩個(gè)限制原則
1.用戶不登錄基于IP的限制,每小時(shí)1000次
2.用戶登錄了基于用戶的限制,每小時(shí)1000次
?
如果應(yīng)用是用戶不登錄的那么就是對(duì)IP進(jìn)行限制,建議登錄登錄了才有辦法突破瓶頸,否則免談
?
新浪給出了具體的限定規(guī)則
http://open.t.sina.com.cn/wiki/index.php/Rate-limiting?retcode=0
?
開發(fā)者可以使用rate_limit_status接口查看調(diào)用頻率
?
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 )
?
分別代表
剩余數(shù)量 999 次,
每小時(shí)限制 1000 次,
計(jì)數(shù)器重置剩余時(shí)間 2717 秒,
下次重置時(shí)間 17點(diǎn)。
?
這樣的調(diào)用頻率對(duì)非授權(quán)類的小型應(yīng)用來說就已經(jīng)不夠用了,最簡單的辦法就是采用多帳號(hào),多APP_KEY的辦法,等于是做一個(gè)帳號(hào)輪詢
?
首先多注冊(cè)幾個(gè)微博帳號(hào),存入數(shù)組,每次隨機(jī)調(diào)用一個(gè),這樣很容易就使得限制達(dá)到3000,
$wb_id = array('weiboid1@gmail.com|password',?'weiboid3@gmail.com|password',?'weiboid3@gmail.com|password');
list($wb_name, $wb_password) = explode("|", $wb_id[array_rand($wb_id)]);
?
用同樣的辦法再羅列幾個(gè)APP_KEY的話重復(fù)組合,那么就更多了,比如用2個(gè)APP_KEY,3個(gè)帳號(hào),限制就可以達(dá)到6000。
?
我本人用了3個(gè)APP_KEY,4個(gè)帳號(hào),每小時(shí)1.2萬的量,足夠了。
?
另外說一個(gè)快速注冊(cè)微博帳號(hào)的辦法
第一步,
去gmail注冊(cè)一個(gè)長帳號(hào),多長呢?反正越長越好,一個(gè)原則字母長度超過你想要注冊(cè)的微博賬戶數(shù)量
比如??asfwefsagasgfasddasfasdg@gmail.com
?
第二步,
用這個(gè)帳號(hào)去新浪注冊(cè)
第一次用?asfwefsagasgfasddasfasdg@gmail.com
第二次用?a.sfwefsagasgfasddasfasdg@gmail.com
第三次用?as.fwefsagasgfasddasfasdg@gmail.com
....
以此類推,這樣只要一個(gè)郵箱可以注冊(cè)多個(gè)新浪微博ID。不需要來回重復(fù)注冊(cè)郵箱。
?
下面是官方對(duì)訪問頻率的限制:
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/mafeng/p/5700879.html
總結(jié)
以上是生活随笔為你收集整理的解决新浪微博API调用限制 突破rate_limit_status瓶颈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj3503: [Cqoi2014]
- 下一篇: 李开复:年轻人该比谁更拼命吗?