解決新浪微博API調用限制 突破rate_limit_status瓶頸


新浪微博開放平台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');
list($wb_name, $wb_password) = explode("|", $wb_id[array_rand($wb_id)]);

 

用同樣的辦法再羅列幾個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。不需要來回重復注冊郵箱。

 

下面是官方對訪問頻率的限制:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM