class MyStreamListener(tweepy.Stream):
def __init__(self, consumer_key, consumer_secret, access_token, access_token_secret, asset_name):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
super().__init__(auth=auth)
self.asset_name = asset_name
def on_status(self, status):
tweet = status.text
if self.asset_name.lower() in tweet.lower():
tweet = preprocess_tweet(tweet)
sentiment = analyze_sentiment(tweet)
store_tweet(tweet, sentiment)
# Pass OAuth details to tweepy's OAuth handler
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
# Ask user to input asset name to filter tweets by
asset_name = input("Enter the asset name to filter tweets by: ")
# Set up streaming connection to Twitter API
myStreamListener = MyStreamListener(consumer_key, consumer_secret, access_token, access_token_secret, asset_name)
myStream = tweepy.Stream(auth=myStreamListener.auth, listener=myStreamListener)
# Filter tweets by asset name
myStream.filter(track=\[asset_name\])
我一直收到以下错误:
TypeError: __init__() missing 4 required positional arguments: 'consumer_key', 'consumer_secret', 'access_token', and 'access_token_secret'