我们需要一些电影的历史推文。现在,我们尝试了来自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:我们需要这些数据来进行研究。花费很长时间来提取数据不是一个好的选择。无论如何从一些专业网站购买这些数据?
答案 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数据,则可以使用第三方服务,例如TrackMyHashtag,Sifter,Gnip,{{3 }}。