You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tweepy调用Twitter API提取数据触发TypeError错误如何解决

报错原因

这个报错是由于你使用的是Tweepy v4及以上版本,该版本对流API的调用逻辑做了不兼容更新:tweepy.Stream的初始化方法不再支持auth、listener这两个参数,你当前的代码混用了v3版本的旧写法,才会触发参数不匹配的错误。

修复步骤
  • 删掉冗余的tweepy.Stream实例化代码,你自定义的MyStreamListener已经继承了tweepy.Stream,直接用它的实例调用过滤方法即可
  • 不需要额外传入auth参数,初始化自定义流类时传入的四个凭证已经完成了鉴权逻辑
修复后的完整代码
import tweepy
import sys
import os
from dotenv import load_dotenv
import csv
import re
import owslib
from twitter_app_credentials import *

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

class MyStreamListener(tweepy.Stream):
    def on_status(self, status):
        print(status.text)
        
    def on_error(self, status_code):
        print(status_code)

if not api:
    print("Authentication failed")
    sys.exit(-1)

# 直接用自定义流类的实例调用过滤方法,不需要重复实例化tweepy.Stream
myStream = MyStreamListener(consumer_key, consumer_secret, access_token, access_token_secret)
myStream.filter(track=['news'])
补充说明

如果需要兼容旧版本的Tweepy写法,可以卸载当前版本重装v3最后一个稳定版:
pip install tweepy==3.10.0

内容的提问来源于stack exchange,提问作者Gabriele Sarra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:15:02