2009-11-02 148 views
6

對於一個研究項目,我想獲得最近3個月的Twitter消息。拋開技術挑戰,這可能嗎?通過使用某種緩慢輪詢機制來保持速率限制器在海灣?從Twitter獲取歷史數據

Twitter API聲明「客戶端可能通過頁面和時間線REST API計數參數請求最多3,200個狀態」每小時是否這些數據?每天?或...永遠不會消失?

有什麼建議嗎?這在理論上是可能的嗎?有人做過類似的事嗎?

謝謝! 馬爾科

+0

綜合概述:https://gwu-libraries.github。io/sfm-ui/posts/2017-09-14-twitter-data – Nemo 2018-02-18 18:15:18

回答

4

Twitter臭名昭着地不會提供三週以上的「可用」推文。在某些情況下,你只能得到一個星期。你最好在未來三個月儲存推文。許多人正確地懷疑他們是否仍然堅持Twitter。

您是否在尋找任何推文?如果是這樣,請查看Streaming API的status/sample方法。流媒體API使用持久的HTTP套接字,這可能是一個痛苦的編程,但它是非常優雅的,當你得到它的工作。我建議設置一個腳本來將狀態/示例中的推文轉儲到數據庫中。短短几天之後,你應該有一個TON數據。

+3

同意你不能得到舊的數據,但我不認爲任何人都應該懷疑twitter是否存檔每一條推文,如果不這樣做會是瘋了。 – pents90 2012-01-31 02:29:25

+2

你是什麼意思,「許多人正確地懷疑他們是否被Twitter堅持?這些推文仍然會在不超過3周的配置文件中顯示,而不是使用API​​。或者我誤解了你 – 2016-11-03 20:29:44

+0

@JackNicholson這些推文是可用的,但不是以索引形式顯示,因爲它們出現在你的家庭或hashtag提要上。 – rob 2017-10-04 19:05:39

3

你可以使用搜索API,不給它一個搜索,返回最大的100每頁,然後通過每個頁面兩次拿到一分鐘(120次 - 一小時不到限速的30倍)。然而,如果我的數學是正確的,那麼可能會給你每小時720,000條推文......問題在於,Twitter在過去3個月中增加了約17.5億條推文。所以如果我的數學是正確的,那就需要2361天或6年才能完成。

您可以在Google Groups上的Twitter開發討論中提出這個問題,或者聯繫Twitter獲得白名單,以便每小時可以發出20,000個請求。

就我個人而言,我不認爲這是可能的。

+0

那麼,在這種情況下,它更像是一個「儘可能多的東西」,並且要考慮未被傾銷的估計百分比?我被列入白名單,所以如果我希望從理論上得到所有這些,那麼可能需要大約20天的時間。 – Marco 2009-11-03 09:33:03

+2

我相信搜索API只能追溯到6到8天的數據。 – airportyh 2011-09-07 14:20:09

1

DataSift聲稱擁有一個Twitter歷史數據API即將推出,您可以申請當其可用here通知。

0

鎖孔可以讓你的歷史鳴叫以XLS或視覺儀表盤呈現出來。預覽僅對最近的幾條推文進行採樣,但是,如果您通過電子郵件發送請求,則可以請求歷史數據。

參見:http://keyhole.co/conversation_tracking

0

您可以閱讀使用GNIP的歷史PowerTrack工具twitter的歷史數據。它會讓你訪問所有的Twitter數據,因爲它是第一次推特,相當它是非常簡單的工具使用。

-1

你可以得到免費的估計數據範圍和費用使用我公司建立了一個服務名爲Sifter。如果您決定購買數據訪問權限,則可通過我們的文本分析平臺DiscoverText獲得數據訪問權限,您可以在其中搜索,過濾,重複刪除,羣集,人工代碼以及對數據進行機器分類。