使用Tweepy流监听代码遇'myStreamListner未找到'错误求助
解决Tweepy Stream中"myStreamListner无法找到"的错误
这是一个很容易犯的小问题——拼写错误!咱们来快速定位并解决它:
问题根源
你在初始化tweepy.Stream的时候,写的是listener=myStreamListner,但你之前创建的监听器实例明明是myStreamListener——注意最后一个字母:是e不是n!Python对变量名大小写和拼写要求严格,这就是它找不到该变量的核心原因。
修正后的完整可运行代码
我帮你整理了格式更清晰的正确代码,同时补全了必要的认证步骤(你只需要替换成自己的密钥即可):
import tweepy # 替换成你自己的API密钥与令牌 consumer_key = "你的consumer_key" consumer_secret = "你的consumer_secret" access_token = "你的access_token" access_token_secret = "你的access_token_secret" # 完成API认证 auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) # 重写StreamListener类添加自定义逻辑 class MyStreamListener(tweepy.StreamListener): def on_status(self, status): print(status.text) # 可选:添加错误捕获方法,方便排查问题 def on_error(self, status_code): print(f"触发错误,代码:{status_code}") # 遇到420限流错误时断开连接,避免被封禁 if status_code == 420: return False # 创建监听器和流实例(注意这里的拼写已经修正) myStreamListener = MyStreamListener() myStream = tweepy.Stream(auth=api.auth, listener=myStreamListener) # 过滤包含"OWASP"的推文 myStream.filter(track=["OWASP"])
额外小提示
- 可以通过
pip show tweepy确认你的版本确实是v3.6.0,避免版本差异导致的问题 - 如果运行后仍有异常,优先检查你的API密钥是否正确,以及是否开通了Twitter API的流媒体访问权限
内容的提问来源于stack exchange,提问作者PythonPersonPro
相关产品推荐
相关产品推荐

