2012-03-22 28 views
2

我通過幾個推特帳戶擁有大約20萬個Twitter追隨者。我試圖找到大部分追隨者都在追蹤的Twitter帳戶。使用Twitter API獲取非常大的用戶列表的下列列表的簡單方法?

查看過Search API後,我認爲這將會非常緩慢,除非我錯過了一些東西。

40呼叫使用GET followers/ids獲得200,000個帳戶的列表。然後我所能想到的就是撥打GET friends/ids撥打200,000個電話。但按目前每小時150個電話的速率限制,這將需要55天。即使我可以讓Twitter輕微上漲,但這仍然會變得緩慢。有任何想法嗎?

回答

1

你的問題的簡短答案是,不,確實沒有快速的方法來做到這一點。此外,API v 1.0在3月份的某個時候會被棄用,而v 1.1則是這片土地的法律(稍後會詳細介紹這一點)。

據我所知,你想要做的是爲每個最初的200,000個關注者賬戶編制一個關注賬戶列表。然後,您要將這20萬個原始賬戶中的每一個作爲「選民」,然後將這20萬個賬戶中的任何一個作爲「候選人」。最終,您希望能夠通過200,000名單中的「投票」來排列候選人名單。

有幾件事情:

1)我相信你居然引用REST API,而不是搜索API。

2.)根據你所說的關於每小時獲得150個請求的情況,我可以推斷你正在對有問題的API端點進行未經驗證的請求。這限制你只有150個電話。作爲短期修復(即在接下來的幾周內,在1.0版本退役之前),您可以改爲通過身份驗證的請求,從而將您的小時費率限制提高到350(來源:Twitter API Documentation)。僅此一項就能使您每小時的通話量增加一倍以上。 2)如果這是你期望需要持續進行的事情,事情會變得更糟。一旦API 1.0不再可用,您將受到v 1.1 API限制的限制,a。)要求進行身份驗證,不管是什麼,以及b。)每個API方法/端點都是有限的。對於GET朋友/ ID和GET追隨者/ ID,特別是,您將只能每15分鐘撥打15個電話60每小時。這意味着你想要做的分析基本上變得不可行(除非你使用多個應用程序/ IP地址等來限制Twitter API的服務條款)。你可以閱讀關於這個here的全部內容。完全可以這麼說,依靠這些API端點進行網絡分析的研究人員和開發人員對這些變化並不滿意,但Twitter似乎並沒有放鬆對此的態度。

鑑於上述所有情況,我最好的建議是使用API​​版本1.0,但仍然可以,並開始進行已驗證的請求。

另一個想法 - 不知道你的用例是什麼 - 但是你可以考慮從200,000個關注者中抽出1000個最新的推文,然後利用每條關於提及的推文中包含的元數據。提到其他用戶可能比知道某人只是跟隨其他人更有價值。你仍然可以理解最多提到的賬戶。這樣做的好處是從API 1.0移到1。1,爲用戶提供時間線的端點實際上將其API限制從每小時350提高到720(來源:Twitter API 1.1 documentation

希望這有助於您,祝您好運!

+0

真棒迴應!這個用例就是一個想要識別其追隨者感興趣的名人/音樂家/品牌的出版物,它還不知道。將幫助他們製作與其追隨者相關的文章 – 2013-01-14 18:39:00