如何从twitter API中提取历史推文? [已关闭]

问题描述 投票:0回答:3

我们需要一些电影的历史推文。现在,我们尝试了 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. 我们需要这些数据来进行研究。花费很长时间来提取数据并不是一个好的选择。有没有办法从专业网站购买这些数据?

python r twitter
3个回答
5
投票

您可以使用以下库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”替换为搜索词。


2
投票

几个月前,Twitter 推出了其高级 API,您可以通过它提取 2006 年至今的历史 Twitter 数据。他们让开发者可以轻松购买 Twitter 数据。

以下是查看此内容的链接:https://developer.twitter.com/en/premium-apis.html

要访问 Twitter 高级 api,您需要访问 Twitter 开发者帐户。

如果您技术不成熟,并且想要最简单地获取 Twitter 历史数据,那么您可以使用第三方服务,例如 TrackMyHashtagSifterGnipInfegy


0
投票

您可以使用 Gnip 的 Historical Powertrack 产品来执行此操作,但这是针对企业而不是研究人员的商业产品。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.