调用Tweepy的user_timeline报仅接受1个位置参数却传入2个错误如何解决
报错原因
你使用的是Tweepy v4.x及更高版本,该版本对API方法的参数传递规则做了调整:user_timeline方法不再接受位置参数,所有查询参数都必须以关键字参数的形式传入。
你代码中直接将screen_name作为位置参数传入,方法本身默认第一个位置参数是实例对象self,系统会判定你传入了2个位置参数,超出了方法允许的入参范围,因此触发TypeError。
修复方法
只需要调整user_timeline方法的入参格式,明确指定参数名即可,修改对应代码行:
# 原错误代码 # statuses = api.user_timeline(screen_name) # 修改后的正确代码 statuses = api.user_timeline(screen_name=screen_name)
如果需要按用户ID查询,也可以传入user_id关键字参数:
statuses = api.user_timeline(user_id=你的目标用户ID)
如果需要拉取单页最多可返回的200条推文,可以额外添加count参数:
statuses = api.user_timeline(screen_name=screen_name, count=200)
内容的提问来源于stack exchange,提问作者Paolo
相关产品推荐
相关产品推荐

