如何从twitter API中提取历史推文?

时间:2015-11-05 16:20:22

标签: python r api twitter web

我们需要一些电影的历史推文。现在,我们尝试了来自twitter的流API和搜索API。流API无法为我们提供选择所需时间范围的参数,搜索API只能提前一周或两周向我们提供数据。有没有办法让我们从2014-05-01到2014-07-01(例如)提取历史推文?我找到了以下可能的方法:

1:Twitter高级搜索 https://twitter.com/search-advanced?lang=en 它可以找到我需要的搜索结果。但是我怎么能下载搜索结果呢?无论如何都要编写代码并保存搜索结果吗?

2:使用像topsy这样的Twitter分析网站。但它也很难保存结果。

3:似乎像twitter4J这样的软件包可以帮助解决这个问题: http://twitter4j.org/en/code-examples.html 是否有任何python或R包可以帮助我们做到这一点?

4:我们需要这些数据来进行研究。花费很长时间来提取数据不是一个好的选择。无论如何从一些专业网站购买这些数据?

3 个答案:

答案 0 :(得分:4)

您可以使用以下库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'搜索词。

答案 1 :(得分:0)

您可以使用Gnip的Historical Powertrack产品来做到这一点,但这是一个针对企业而非研究人员的商业产品。

刮取Twitter网站违反了服务条款和开发者政策。

公共搜索API仅支持7-9天的数据,因此即使使用twitteR或tweepy(R和Python选项)也无法从您尝试访问的期间检索数据。

答案 2 :(得分:0)

几个月前,Twitter推出了高级api,您可以通过该API提取2006年至今的Twitter历史数据。他们使开发人员购买Twitter数据变得非常容易。

这里是签出此链接的链接:https://developer.twitter.com/en/premium-apis.html

要访问Twitter高级api,您将需要访问Twitter开发人员的帐户。

如果您在技术上不健全,并且想要最轻松地获取历史Twitter数据,则可以使用第三方服务,例如TrackMyHashtagSifterGnip,{{3 }}。