【问题标题】:Spark Streaming using Tweepy使用 Tweepy 进行 Spark 流式传输
【发布时间】:2017-10-16 13:50:59
【问题描述】:

我正在尝试使用 python 库 Tweepy 流式传输 Twitter 数据。我已经设置了工作环境,用谷歌搜索了这些东西,但我不知道事情是如何工作的。我想将火花流(DStream - 批处理)与python(tweepy)一起使用。我至少浏览了以下链接:

以下 tweepy 代码对我来说效果很好:

import tweepy

consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)

politicsTweets = tweepy.Cursor(api.search, q='#GONAWAZGO').items(100)

for tweet in politicsTweets:
    print tweet.created_at, tweet.text, tweet.lang

但它没有使用火花流。我应该如何更新上述代码以使用 Spark Streaming?我不明白为什么我需要两个单独的文件?总的来说,我正在尝试执行以下操作:

  1. 获取 2017 年 5 月 1 日以来的前 10 个主题标签。(Tweepy 搜索功能接受参数“since_id”,但不知道如何使用它 [http://docs.tweepy.org/en/latest/api.html#help-methods]?)
  2. 计算自 2013 年 5 月 11 日以来 #GONAWAZGO 被发现的次数。
  3. 计算有多少#gonawazgo 是由巴基斯坦以外的人完成的。 (没有任何日期限制,Tweepy 光标方法接受地理编码,但我想要来自提供的地理编码以外的位置的推文。)
  4. 在 Twitter 上观察法国大选的趋势。
  5. 查找由 [https://twitter.com/imrankhanpti] 推特帐户发布的最新推文。 (Tweepy 搜索方法接受用户 ID,我怎么能得到它?)

首先,我对何时使用 Twitter REST/Streaming API 感到有些困惑。我认为第 1 点和第 2 点应该使用 REST API,因为我们正在处理迄今为止的过去数据,并且应该使用剩余的 Streaming API。

【问题讨论】:

    标签: python-2.7 spark-streaming tweepy twitter-streaming-api twitter-rest-api


    【解决方案1】:

    Twitter 搜索 API 有 7 天的限制。这意味着您无法获取任何超过 7 天的数据。这是 Twitter 搜索 API 文档的链接。看看“直到”参数提到的描述:

    https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 2020-08-11
      相关资源
      最近更新 更多