【问题标题】:Analyzing streamed data from Twitter API using Tweepy使用 Tweepy 分析来自 Twitter API 的流数据
【发布时间】:2021-10-18 08:16:24
【问题描述】:

我对 python 和一般编码很陌生,我很难理解如何使用 Tweepy 与来自 Twitter API 的流数据进行交互。

这是我的示例代码,它打印出指定用户发布的任何新推文。

import tweepy

auth = tweepy.OAuthHandler("****", "****")
auth.set_access_token("****", "****")

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)


class MyStreamListener(tweepy.StreamListener):

    def on_status(self, status):
        print (status.text)

myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth = api.auth, listener = myStreamListener)
    
myStream.filter(follow=['user_id_goes_here']))

如果我想做一些事情,例如检查每条推文中是否存在某个单词,我不知道怎么做,因为它是一个恒定的数据流。

如何在每条推文发送时对其进行分析和解析?

【问题讨论】:

    标签: python api twitter tweepy


    【解决方案1】:

    关于流媒体的 tweepy 文档非常有限,但它确实说

    本页面旨在通过提供第一次演练帮助您开始使用带有 Tweepy 的 Twitter 流。此处未介绍 Tweepy 流媒体的某些功能。请参阅 Tweepy 源代码中的 streaming.py。

    所以在我们找到的 tweepy github 存储库中搜索该文件 https://github.com/tweepy/tweepy/blob/master/tweepy/streaming.py

    在那里你可以找到方法on_status 并看到status 应该是类Status 的一个实例

    查看 twitter API 文档会发现

    推文也称为“状态更新”。

    不幸的是,查看 Status 的源代码或 tweepy 文档并没有得到太多信息。

    查看tweet 的 twitter API 文档 https://developer.twitter.com/en/docs/twitter-api/data-dictionary/object-model/tweet 我们应该期待一个名为 text 的字段,它应该是推文的实际文本

    我们可以尝试的另一件事是使用断点,然后使用调试器查看变量status 以查看它具有哪些字段(由于它的动态性质,这在 python 中执行了很多次)

    【讨论】:

    • 谢谢,感谢您在此处概述您的故障排除过程。
    【解决方案2】:

    我相信我找到了我要找的东西,状态分析需要在 on_status 方法中进行,例如:

    class MyStreamListener(tweepy.StreamListener):
        def on_status(self, status):
            if keyword in status.text:
                print ("keyword found") 
    

    【讨论】:

      猜你喜欢
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 2012-09-17
      相关资源
      最近更新 更多