在 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'])
我正在尝试 if 和 elif 语句打印不同的结果,具体取决于推文是循环还是 运行.我已经使用了这段代码,但无法正常工作...
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' 这个词,不管它是否大写。
我正在尝试创建一些代码来收听 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'])
我正在尝试 if 和 elif 语句打印不同的结果,具体取决于推文是循环还是 运行.我已经使用了这段代码,但无法正常工作...
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' 这个词,不管它是否大写。