2011-04-27 14 views
2

我有大量的twitter用戶,我希望使用PHP在網站上瀏覽並緩存MySQL中的推文。然而,當我訪問這個API時,我似乎被速率限制問題困住了。我向每個用戶提出的每個請求似乎都算作請求,這是有理由的。在一個站點上多個twitter用戶的Feed沒有達到費率限制

我注意到其他網站*成功地做這件事情。他們如何解決這個問題,他們是簡單地列入白名單,還是有一種我失蹤的技術?

* http://www.twackle.com/NFL/Aaron-Rodgers_1/tweets

回答

1

streaming API正是你要找的,更具體地說,是filter方法。過濾器至少在特權級別允許您實時關注5,000個用戶,而無需授權您的應用,並且您還可以使用此方法跟蹤多達400個關鍵字。現在

,如果你想歷史的鳴叫,以及,你要拉那些來自REST API(流API的count參數並不能真正幫助在這裏),但因爲你只能檢索最後通過REST API向用戶發送3200條推文,通過傳遞計數參數值200並相應地進行分頁,您幾乎可以回填所有可用的推文歷史記錄,其中16個調用爲statuses/user_timeline

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=2 http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=3 http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=4

隨着每一個Twitter帳戶小時的350個電話時,可回填大約每小時22完整的用戶時間表。

在實現方面,您可能會對Phirehose(一個用於PHP的流API客戶端接口)感興趣。

0

嘗試先驗證,然後再獲取推文。這應該會增加費率限制

+0

如果我的理解正確 - 我需要每個帳戶通過應用程序授予訪問權限,我不會知道用戶獲得此權限。想象它就像我發送的鏈接 - 可能有數百個運動員。如果我甚至試圖每小時一次抓取他們的推文,我會直接超過150的限制? – Andy 2011-04-27 14:21:08

+0

作爲單個用戶進行身份驗證將允許您從任何公共賬戶獲取更新,從每小時150個未經驗證的請求數增加到每小時350個請求數。 – abraham 2011-04-28 05:10:32

相關問題