当前位置: 首页 > 知识库问答 >
问题:

使用Tweepy的火花流

裴令秋
2023-03-14

我正在尝试使用python库Tweepy来传输twitter数据。我设置了工作环境,谷歌了一下这些东西,但是我不知道它们是如何工作的。我想在python (tweepy)中使用spark streaming(DStream-Batch processing)。我至少经历了以下环节:

    < li >如何获取tweepy中某个位置的特定标签的推文? < Li > http://spark . Apache . org/docs/latest/streaming-programming-guide . html < Li > http://docs . tweepy . org/en/v 3 . 5 . 0/streaming _ how _ to . html < li >使用Tweepy检索Twitter数据 < Li > http://www . awesomestats . in/spark-Twitter-stream

以下补间代码对我来说工作正常:

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

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

  1. 从2017年5月1日起获取前10个标签。(Tweepy搜索函数接受参数“since_id”,但不知道如何使用它[http://docs.tweepy.org/en/latest/api.html#help-方法]?)
  2. 统计自2013年5月11日以来#GONAWAZGO发现的次数。
  3. 统计有多少#gonawazgo是由巴基斯坦以外的人做的。(没有任何日期限制,Tweepy游标方法接受地理代码,但我希望从提供的地理代码以外的位置发送推文。)
  4. 观察推特上关于法国大选的趋势
  5. 查找由发布的最新推文[https://twitter.com/imrankhanpti]推特帐户。(Tweepy搜索方法接受userID,我如何才能得到它?)

最重要的是,我对何时使用Twitter REST/Streaming API有点困惑。我认为对于第一点和第二点,应该使用 REST API,因为我们正在处理迄今为止的数据,而对于剩余的流 API,应该使用。

共有1个答案

祁绪
2023-03-14

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

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

我希望这有帮助!

 类似资料:
  • 我正在使用火花流,我从Kafka读取流。阅读此流后,我将其添加到hazelcast地图中。 问题是,我需要在读取Kafka的流之后立即从地图中过滤值。 我正在使用下面的代码来并行化地图值。 但在这个逻辑中,我在另一个逻辑中使用JavaRDD,即JavaInputDStream.foreachRDD,这会导致序列化问题。 第一个问题是,如何通过事件驱动来运行spark作业? 另一方面,我只是想得到一

  • 我有一个用例,我必须以FIFO方式处理事件。这些是从机器生成的事件。每台机器每30秒生成一个事件。对于特定的机器,我们需要根据FIFO FASION对事件进行处理。 我们每天需要处理大约2.4亿个事件。对于如此大的规模,我们需要使用Kafka+火花流 从Kafka文档中,我了解到我们可以使用消息的关键字段将消息路由到特定的主题分区。这确保我可以使用机器id作为密钥,并确保来自特定机器的所有消息都进

  • CreateDataFrame接受2个参数,一个rdd和模式。 我的图式是这样的 <代码>val schemas=结构类型(Seq(StructField(“number”,IntegerType,false),StructField(“notation”,StringType,false))) 在一种情况下,我能够从RDD创建数据帧,如下所示: 在以下其他情况下。。我不能 data2不能成为Da

  • 一些脚本在工作时什么也不做,当我手动运行它们时,其中一个失败了,出现了以下消息: 错误SparkUI:未能绑定SparkUI java.net.bindexception:地址已在使用:服务“SparkUI”在重试16次后失败! 所以我想知道是否有一种特定的方法来并行运行脚本?

  • 我正在使用Spark-Cassandra连接器1.1.0和Cassandra 2.0.12。 谢谢, 沙伊

  • 我试图从聚合原理的角度来理解火花流。Spark DF 基于迷你批次,计算在特定时间窗口内出现的迷你批次上完成。 假设我们有数据作为- 然后首先对Window_period_1进行计算,然后对Window_period_2进行计算。如果我需要将新的传入数据与历史数据一起使用,比如说Window_priod_new与Window_pperid_1和Window_perid_2的数据之间的分组函数,我该