Collecting data through the Twitter API

Analyzing Social Media Data in Python

Alex Hanna

Computational Social Scientist

Twitter API

  • API: Application Programming Interface
    • Method of accessing data
  • Twitter APIs
    • Search API
    • Ads API
    • Streaming API
Analyzing Social Media Data in Python

Streaming API

  • Streaming API
    • Real-time tweets
  • Filter endpoint
    • Keywords
    • User IDs
    • Locations
  • Sample endpoint
    • Random sample
Analyzing Social Media Data in Python

Using tweepy to collect data

  • tweepy
    • Python package for accessing Streaming API
Analyzing Social Media Data in Python

SListener

from tweepy import Stream
import time

class SListener(Stream):
    def __init__(self, api = None):
        self.output  = open('tweets_%s.json' %
            time.strftime('%Y%m%d-%H%M%S'), 'w')
        self.api = api or API()
    ...
Analyzing Social Media Data in Python

tweepy authentication

from tweepy import OAuthHandler
from tweepy import API 

auth = OAuthHandler(consumer_key, consumer_secret)

auth.set_access_token(access_token, access_token_secret)
api = API(auth)
Analyzing Social Media Data in Python

Collecting data with tweepy

from tweepy import Stream

listen = SListener(api)

stream = Stream(auth, listen)
stream.sample()
Analyzing Social Media Data in Python

Let's practice!

Analyzing Social Media Data in Python

Preparing Video For Download...