1. 程式人生 > >新浪微博開放平臺API訪問頻率限制解決方法

新浪微博開放平臺API訪問頻率限制解決方法

新浪微博開放平臺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(

 

用同樣的辦法再羅列幾個APP_KEY的話重複組合,那麼就更多了,比如用2個APP_KEY,3個帳號,限制就可以達到6000。

 

我本人用了3個APP_KEY,4個帳號,每小時1.2萬的量,足夠了。

 

另外說一個快速註冊微博帳號的辦法

第一步,

去gmail註冊一個長帳號,多長呢?反正越長越好,一個原則字母長度超過你想要註冊的微博賬戶數量

比如 [email protected]

 

第二步,

用這個帳號去新浪註冊

第一次用 [email protected]

第二次用 [email protected]

第三次用 [email protected]

....

以此類推,這樣只要一個郵箱可以註冊多個新浪微博ID。不需要來回重複註冊郵箱。