Twitter

Use the Twitter API to write the basic parts of a Twitter client. See what your friends are tweeting, get trending topics, search tweets, and more.

Download and install the dependencies and library

 * http://pypi.python.org/pypi/httplib2/
 * http://pypi.python.org/pypi/simplejson/
 * http://pypi.python.org/pypi/oauth2/
 * http://code.google.com/p/python-twitter/

Download and un-archive the Twitter project skeleton code

 * http://web.mit.edu/jesstess/www/BostonPythonWorkshop6/Twitter.zip

Un-archiving will produce a  folder containing 3 python files: ,  , and.

Test your installation
From a command prompt, navigate to the  directory and run

python twitter_api.py --search=python

You should see the text from 20 tweets containing the word "Python" printed to the screen. If you don't, let a staff member know.

Goals

 * Have fun playing with data from Twitter.
 * See how easy it is to programmatically gather data from social websites that have APIs.
 * Get experience with command line option parsing and passing data to a Python script.
 * Get experience reading other people's code.

Suggested exercises
  Customize how tweets are displayed. Look at the  and   classes in the | Twitter code for inspiration; options include the URL for the tweet, how many followers the sender has, the location of the sender, and if it was a retweet.   Write a new function to display tweets from all the trending topics. Add a new command line option for this function.   The code to display tweets gets re-used several times. De-duplicate the code by moving it into a function and calling that function instead. Example prototype:

def print_tweet(tweet): """     tweet is an instance of twitter.Status.      """ pass  [Long] A lot of the Twitter API requires that you be authenticated. Examples of actions that require authentication include: posting new tweets, getting a user's followers, getting private tweets from your friends, and following new people.

Set up oAuth so you can make authenticated requests.

http://dev.twitter.com/pages/auth describe how Twitter uses oAuth.

http://code.google.com/p/python-twitter/ has examples of using oAuth authentication to make authenticated Twitter API requests.  

&laquo; Back to the Saturday project page