在 Python 中将 if elif 语句与 Tweepy 结合使用

Using if elif statements with Tweepy in Python

我正在尝试创建一些代码来收听 Twitter 上的某些关键字,但正在努力获得我想要的结果。

我正在使用 Python 3.4.3.

这是我目前正在使用的东西...


import tweepy
from time import sleep 
CONSUMER_KEY = 'abcabcabc'
CONSUMER_SECRET = 'abcabcabc'
ACCESS_KEY = 'abcabcabc'
ACCESS_SECRET = 'abcabcabc'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
auth.secure = True
api = tweepy.API(auth)

class MyStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        try:
            print(status.text)
        except:
            print("false")

myStreamListener = MyStreamListener
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener())


myStream.filter(track=['Cycling', 'Running'])

我正在尝试 ifelif 语句打印不同的结果,具体取决于推文是循环还是 运行.我已经使用了这段代码,但无法正常工作...


class MyStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        if 'Cycling' in myStreamListener:
            print('Cyclist' + status.text)
        elif 'Running' in myStreamListener:
            print('Runner' + status.text)
        else:
            print('false' + status.text)

myStreamListener = MyStreamListener
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener())


myStream.filter(track=['Cycling', 'Running'])

如果不将 Tweepy 的复杂性添加到等式中,我可以让 if & elif 离线工作,但我很困惑具体如何使用 in 语句。

我是 Python 的新手,所以很可能会犯一些简单的错误!

如有任何帮助,我们将不胜感激,

非常感谢,

马特

您在 in 中使用了错误的变量(指向侦听器函数)。请改用 status 变量:

if 'cycling' in status.text.lower():
    print('Cyclist' + status.text)

请注意,我在 status.text 的末尾添加了 .lower()。这样它就会匹配 'cycling' 这个词,不管它是否大写。