Maybe the easiest way to connect to Twitter API and to stream tweets, is using Python and Tweepy.
You can install Tweepy using pip:
pip install tweepy
Tweepy is an open source library and you can check the source here. Maybe, take a peak at StreamListener class and see what additional options are available.
‘Nuff said. Here’s the code:
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import json
# https://apps.twitter.com/
#consumer key, consumer secret, access token, access secret.
ckey="INSERT"
csecret="INSERT"
atoken="INSERT"
asecret="INSERT"
# listener class
class listener(StreamListener):
def on_data(self, data):
tweet = json.loads(data)
tweet_text = tweet["text"]
if tweet["lang"] is not None:
tweet_lang = tweet["lang"]
if tweet["geo"] is not None:
tweet_coordinates = tweet["geo"]["coordinates"]
tweet_username = tweet["user"]["screen_name"]
# print username and tweet
print tweet_username,":", tweet_text
return(True)
def on_error(self, status):
print status
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
GEOBOX_VIENNA = [16.139603,48.087712,16.601715,48.331604]
twitterStream = Stream(auth, listener())
twitterStream.filter(locations=GEOBOX_VIENNA)
This example is streaming tweets from Vienna’s metropolitan area. For selecting your region of interest, check this link for geo-bounding. You also need to register your Twitter App at apps.twitter.com and to insert access keys and tokens.
For extending this example, have a look at Twitter API streaming parameters at this link.
The output looks something like this:

Enjoy the source! Cheers!

