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

Python,tweepy流

云骏奇
2023-03-14

我使用的代码类似于下面的代码,来自:https://github.com/tweepy/tweepy/blob/master/examples/streaming.py

该API允许您跟踪多个过滤器术语,在本例中track=['usa','canada']。这基本上意味着该流将收集提到“加拿大”或“美国”的推文。

问题是函数on_data()打印数据,但是它没有指定数据属于哪个过滤条件。当您只按一个术语过滤时,比如github页面上提供的示例,那么它是隐式的,但是当您有多个术语时,您如何既打印术语又打印与之相关的数据呢?

换句话说,我怎么知道哪些推文被“加拿大”过滤了,哪些被“美国”过滤了?

from __future__ import absolute_import, print_function

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

# Go to http://apps.twitter.com and create an app.
# The consumer key and secret will be generated for you after
consumer_key=""
consumer_secret=""

# After the step above, you will be redirected to your app's page.
# Create an access token under the the "Your access token" section
access_token=""
access_token_secret=""

class StdOutListener(StreamListener):
    """ A listener handles tweets that are received from the stream.
    This is a basic listener that just prints received tweets to stdout.
    """
    def on_data(self, data):
        print(data)
        return True

    def on_error(self, status):
        print(status)

if __name__ == '__main__':
    l = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)

    stream = Stream(auth, l)
stream.filter(track=['usa','canada'])

共有1个答案

慕阳
2023-03-14

你没有提到第三种可能性:一条推文同时匹配“加拿大”和“美国”。尽管如此,解决方案只是简单地测试推文中是否存在其中一个或两个过滤词。所以:

def on_data(self, data):
    text = data.text.lower()
    if "canada" in text:
        do_canada()
    if "usa" in text:
        do_usa()
    return True
 类似资料:
  • 我是Python新手,我想在我的应用程序中导入tweepy。我运行此代码(取自Tweepy官方文档): 它返回此错误: 回溯(最近一次调用):文件“C:/Users/user/PycharmProjects/TwitterPythonAnalytics/file3.py”,第1行,在导入tweepy文件“C:\Users\user\PycharmProjects\TwitterPythonAnal

  • 所以,我试图用Tweepy喜欢一个推文,但是这个错误正在发生: 有什么想法吗?

  • 我为早期版本的Python运行了此代码,但现在想将其升级到最新版本的Python和Tweepy,但我似乎无法使其工作。任何帮助都将不胜感激!我得到的错误是: ImportError:无法从“tweepy.streaming”中导入名称“StreamListener”(C:\ Users \ mman enica \ anaconda 3 \ lib \ site-packages \ tweepy

  • 我试图用tweepy和textblob分析推特的情绪。我确实安装了pip tweepy,并且安装成功,但是我得到了以下错误。 错误消息:导入tweepy文件“C:\Users\joshey\Desktop\sent.py”第2行中的文件“C:\Users\joshey\AppData\Local\Programs\Python\Python37\lib\site packages\tweepy\u

  • 我正在尝试使用Tweepy从开发人员API流式传输推文。我想将其转换为SQLite数据库文件。 然而,我得到一个不寻常的错误,链接到我的计算机上的Tweepy库。我正在使用Python 3.6。7(如果这可能与此有关)。 如果您需要更多信息,请告诉我。 在Windows 10命令行中: 线程Thread-1中的异常:Traceback(最近一次调用最后一次):文件"C:\用户\机密\AppData

  • 我正在尝试使用Python脚本和Tweepy API阻止Twitter用户。我能够毫无问题地提取用户、ID、追随者和推文。当我尝试调用