2015-11-05 124 views
-4

我們需要一些電影的歷史推文。目前,我們已經從twitter上試用了流媒體API和搜索API。流API不能給我們一個參數來選擇我們需要的時間範圍,搜索API只能提前一到兩週給我們提供數據。有沒有辦法讓我們從2014-05-01到2014-07-01(例如)提取歷史推文?我發現以下幾種方式可以做到這一點:如何從twitter API中提取歷史推文?

1:推特高級搜索 https://twitter.com/search-advanced?lang=en 它可以找到我需要的搜索結果。但是我怎麼能下載搜索結果?無論如何編寫代碼並保存搜索結果?

2:使用twitter分析網站喜歡顛倒。但它也難以保存結果。

3:看來Twitter4J這類一些軟件包可以提供幫助的: http://twitter4j.org/en/code-examples.html 是否有任何Python或R語言包可以幫助我們做到這一點?

4:我們需要這些數據來進行研究。花費很長時間提取數據不是一個好的選擇。無論如何要從一些專業網站購買這些數據嗎?

+2

您可以從Twitter的認證數據經銷商處購買數據,請參閱https://dev.twitter.com/programs/twitter-certified-products或https://blog.scraperwiki.com/2014/08/the - 令人咋舌的twitter數據和其缺少的中間/ – Jaco

+1

似乎像Gnip是有前途的。 – user3019893

回答

0

您可以使用Gnip的Historical Powertrack產品來做到這一點,但是這是一個面向企業而不是研究人員的商業產品。

刮Twitter的網站違反服務條款和開發者政策。

公共搜索API僅支持7-9天的數據,所以即使使用twitteR或tweepy(R和Python選項)也不能讓您從您嘗試訪問的時間段中檢索數據。

+0

謝謝~~~我已經聯繫了GNIP,看他們是否可以向我們出售數據。 – user3019893

2

您可以使用以下庫https://github.com/Jefferson-Henrique/GetOldTweets-python在Twitter中獲取舊推文。

請GetOldTweets-Python作爲在Python使用當前目錄

cd GetOldTweets-python 

然後執行下列操作

在Python,

import got 
tweetCriteria = got.manager.TweetCriteria().setQuerySearch('search_term').setSince("2014-05-01").setUntil("2014-07-01").setMaxTweets(10000) 
tweet = got.manager.TweetManager.getTweets(tweetCriteria)[0] 

print tweet.text 

在終端,

python Exporter.py --querysearch 'search_term' --since 2014-05-01 --until 2014-07-01 --maxtweets 10000 

用搜索詞替換'search_term'。

+0

雖然這看起來很明顯,但請確保通過命令cd cd:\ Users \ UserName \ Documents \ Folder \ WhereTheFileExporterIsLocated將cmd提示終端連接到Exporter.py文件所在的位置。 – user3553260

+0

@ user3553260是的,這是真的。 :) – prashanth