Book Image

Python Social Media Analytics

By : Baihaqi Siregar, Siddhartha Chatterjee, Michal Krystyanczuk
Book Image

Python Social Media Analytics

By: Baihaqi Siregar, Siddhartha Chatterjee, Michal Krystyanczuk

Overview of this book

Social Media platforms such as Facebook, Twitter, Forums, Pinterest, and YouTube have become part of everyday life in a big way. However, these complex and noisy data streams pose a potent challenge to everyone when it comes to harnessing them properly and benefiting from them. This book will introduce you to the concept of social media analytics, and how you can leverage its capabilities to empower your business. Right from acquiring data from various social networking sources such as Twitter, Facebook, YouTube, Pinterest, and social forums, you will see how to clean data and make it ready for analytical operations using various Python APIs. This book explains how to structure the clean data obtained and store in MongoDB using PyMongo. You will also perform web scraping and visualize data using Scrappy and Beautifulsoup. Finally, you will be introduced to different techniques to perform analytics at scale for your social data on the cloud, using Python and Spark. By the end of this book, you will be able to utilize the power of Python to gain valuable insights from social media data and use them to enhance your business processes.
Table of Contents (17 chapters)
Title Page
About the Authors
About the Reviewer
Customer Feedback

Data pull and pre-processing

In the previous step, we obtained two DataFrames:

  • Our own pins through the Pinterest API
  • Search results from the scraping tool

Now we will create different graph structures to analyze the relationships between users and topics.

Pinterest API data

One may wonder how we can build a relevant graph structure from a user's own pins. Intuitively, the only information which may be used to build a network is a board name. However, we can extract much more interesting relationships from the Description and Title and build a graph with them.

For this purpose we will extract bigrams, which will be considered as topics, and we will check how strong the links between these bigrams are.

Bigram extraction

Firstly, we use the code presented in previous chapters to find the most relevant bigrams in our dataset.

We import all the necessary libraries:

import nltk 
from nltk.collocations import * 
from nltk.corpus import stopwords 
import re  

We define a function which will perform data cleaning...