属性错误:对象没有属性'user_agent'



我正在使用Twitter API编写一个微博机器人,特别是Twitter API v2。该脚本应该使用码字流式传输一些tweet,并将它们写入文件。我正试图将filename参数添加到StdOutListener类的构造函数中。

import tweepy
import credentials
class StdOutListener(tweepy.StreamingClient):
def __init__(self, bearer_token, filename):
self.bearer_token = bearer_token
self.filename = filename
def on_data(self, data):
with open(self.filename) as file:
file.write(data)
print("[+] File written!")
return True
def on_error(self, status):
print(status)

if __name__ == "__main__":
filename = "tweets.json"
listener = StdOutListener(credentials.BEARER_TOKEN, filename)
listener.add_rules(tweepy.StreamRule("Boston Celtics"))
listener.filter()

然而,每当我运行这个,我得到错误:AttributeError: 'StdOutListener' object has no attribute 'user_agent'。我觉得这和继承有关。所以我试着用super,但无济于事。我在StackOverflow上搜索了这个问题的答案,但没有找到一个。是什么导致了AttributeError?

刚刚遇到了这个问题,试图将参数传递给该类。你需要super().init(bearer_token)

class StdOutListener(tweepy.StreamingClient):
def __init__(self, bearer_token, filename):
super().__init__(bearer_token)
self.filename = filename

相关内容

  • 没有找到相关文章

最新更新