from tweepy.streaming import StreamListener
import tweepy
from tweepy import OAuthHandler
from tweepy import Stream
from kafka import SimpleProducer, KafkaClient
import json
access_token = ""
access_token_secret = ""
consumer_key = ""
consumer_secret = ""
class StdOutListener(StreamListener):
def on_data(self, data):
producer.send_messages("twitterstream", data.encode('utf-8','ignore'))
data=json.loads(data)
try:
print (data["text"])
except:
print(data["text"])
return True
def on_error(self, status):
print(status)
kafka = KafkaClient("localhost:9092")
producer = SimpleProducer(kafka)
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api=tweepy.API(auth)
stream = Stream(auth, l)
stream.filter(track=['ann','alm'], stall_warnings=True, languages = ['en'])
I am trying to stream tweets to kafka but I am getting 403 error. I am using tweepy='3.5.0' kafka-python='1.3.3' I have elevated access to the project and 0 tweets have been pulled