How to Run Sentiment Analysis on Twitter Data

Eli Williams
2 min readDec 20, 2022
Some sentiments you might detect from a user’s Tweets (source: Pexels)

To perform sentiment analysis on Twitter data using Python, you will need to follow these steps:

1. First, you will need to obtain a set of API keys from Twitter. You can do this by signing up for a Twitter developer account and creating a new project.

2. Install the necessary libraries. To download tweets from Twitter, you can use the tweepy library. To perform sentiment analysis, you can use the TextBlob library. You can install these libraries using pip:

pip install tweepy
pip install textblob

3. Import the tweepy and TextBlob libraries, and the necessary keys and tokens:

import tweepy
from textblob import TextBlob
consumer_key = 'YOUR_CONSUMER_KEY'
consumer_secret = 'YOUR_CONSUMER_SECRET'
access_token = 'YOUR_ACCESS_TOKEN'
access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET'
auth = tweepy.OAuth1UserHandler(consumer_key, consumer_secret, access_token, access_token_secret)
api = tweepy.API(auth)

4. Use the user_timeline method of the API object to fetch the tweets of a given user. You will need to specify the screen name of the user as an argument. The method will return a list of Status objects, which represent the tweets:

screen_name = 'twitter_handle'
tweets = api.user_timeline(screen_name=screen_name)

5. Iterate over the list of tweets and use the TextBlob library to perform sentiment analysis on each tweet. The TextBlob library provides a sentiment attribute, which returns a tuple with the polarity and subjectivity of the text. The polarity is a float value that ranges from -1 to 1, where -1 represents a negative sentiment, 0 represents a neutral sentiment, and 1 represents a positive sentiment. The subjectivity is a float value that ranges from 0 to 1, where 0 represents an objective sentiment and 1 represents a subjective sentiment.

for tweet in tweets:
text = tweet.text
sentiment = TextBlob(text).sentiment
print(f'Tweet: {text}')
print(f'Polarity: {sentiment.polarity}')
print(f'Subjectivity: {sentiment.subjectivity}')

Here is the full code:

import tweepy
from textblob import TextBlob

consumer_key = 'YOUR_CONSUMER_KEY'
consumer_secret = 'YOUR_CONSUMER_SECRET'
access_token = 'YOUR_ACCESS_TOKEN'
access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET'

auth = tweepy.OAuth1UserHandler(consumer_key, consumer_secret, access_token, access_token_secret)
api = tweepy.API(auth)
screen_name = 'twitter_handle'
tweets = api.user_timeline(screen_name=screen_name)

for tweet in tweets:
text = tweet.text
sentiment = TextBlob(text).sentiment
print(f'Tweet: {text}')
print(f'Polarity: {sentiment.polarity}')
print(f'Subjectivity: {sentiment.subjectivity}')

If you enjoyed this content and are interested in coding or crypto, please follow me @elitwilliams on Twitter!

--

--