This Python application can be used by application developers who intend to consume Application-only authenticated Twitter APIs.
- API to fetch from a User Timeline (statuses/user_timeline)
- API to fetch current Trends (trends/place)
- API to search tweets for a trend.
- More will be added
- HTTPS Connnection.
- Correct API URLs.
- Authentication mechanism(Although, one needs to have an app registered with Twitter).
- Most importantly, python version, it works on both 2.x and 3.x
- Clone the repo first.
cd twitter-trend/ && touch twitter/constants.py
- Add the following in the above created file
CONSUMER_KEY = your consumer key
CONSUMER_SECRET = your consumer secret
- CONSUMER_KEY and CONSUMER_SECRET could be acquired by registering an app with Twitter Here. Login and create a new app ;-)
- After adding the above lines in constants.py, come back to the root directory:
cd ~/twitter-trend
- And run
sudo python setup.py install
- To check whether installation is done, cd to tests and run the tests.
cd tests && python test.py
- The above would also check whether CONSUMER_KEY and CONSUMER_SECRET are valid.
Creating a twitter-trend object -
from twitter.twrapper import *
twitter_obj = Twrapper(CONSUMER_KEY, CONSUMER_SECRET)
what this does is -
- Authenticates application using key and secret.
- Stores the obtained token for later requests.
Now you can use this twitter_obj
to fetch data.
Let's say you want to fetch the latest couple of tweets from Leonardo DiCaprio, from his Twitter handle - @LeoDiCaprio
tweets = twitter_obj.get_user_timeline_tweets("LeoDiCaprio", 2)
and that's it!
Check out test.py which contains examples demonstrating different calls.
- Takes 100 tweets for every trending topic and pushes it into a database(trend_insert.py).[Yet to be ported]
- Prints Time-Zone wise contribution for each trending topic(calculate.py).[Yet to be ported]
- Uses MongoDB and moongodb client for python
- Adding more wrapper for different use-cases.
- Adding wrappers to fetch stale data from db.
- Remove the dependency on constants.py(ugly). Ask user to provide it directly(For tests read from s specified file given as a command line argument).