Skip to Main Content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.
library logo banner

Research Software Learning Online: Collecting Social Media Data

About this guide

Accessing and using social media data for research has gained popularity over the last decade.  There are a number of online courses through O'Reilly Learning where you can learn how to mine social media data and links to these are provided below. However,  please be aware that there are complex ethical and legal issues regarding using social media data for research that need to be considered alongside the technical skills needed to undertake the research. Please be aware that if you breach the platform terms and conditions of use that this is not a personal breach, the University will be held accountable for your use of the platform for research. 

We recommend that before you undertake research using social media data that you (a) check with the platform terms and conditions about the use of data for research and (b) read the ethical guidance written by the University of Aberdeen to ensure that you have properly considered the ethical aspects of the research as well. 

Please note that O'Reilly deletes content in December and June. If you are linking to courses on this platform we advise that you check that they are still running in January and July of each year. 

Searching for more courses on Git and GitHub

You can search for more courses and resources for learning about social media analytics and web scraping on O'Reilly Learning. Enter 'social media' or 'webscraping' or 'mining' into the search bar on the home page. We recommend that you filter the results: 

  • use the 'Format' filter to filter by resource type: courses are listed as 'Learning Path' or 'Video'

If you cannot see 'Learning Path' and 'Video' as an option under the Format filter you should delete the site cookies and refresh the page. 

Short video courses

Most of these courses use Python for web scraping so you will need a basic working knowledge of Python before taking these courses. There are courses on Python available through O'Reilly Learning. 


Mining the Social Web – Twitter (40 mins)

Mining the social web twitterThis short video course shows you how to mine data from the Twitter API using Python on a Jupyter Notebook. You need to be confident in installing packages using Python before taking this course. There are numerous courses on Python available through O’Reilly Learning.


Mining the Social Web – Facebook (34 mins)

mining the social web facebookThis short video course shows you how to mine data from the Twitter API using Python. You need to be confident in installing packages using Python before taking this course. 

Mining the Social Web  - Google + (40 mins)

Mining the social web google plusThis short video course shows you how to mine data from Google + using Python and how to use the Python Natural Language Toolkit to analyse the similarity of texts. You need to have a basic working knowledge of Python before taking this course. 


Mining the Social Web – Web Pages (30 mins)

Mining the social web webpagesThis short video course shows you how to mine data from webpages using Python and how to use the Python Natural Language Toolkit to analyse the similarity of texts. You need to have a basic working knowledge of Python before taking this course. 


Mining the Social Web – mining the social web - instagram Instagram (45 mins)

This short video course shows you how to mine data from Instagram using Python and how to use neural networks to analyse posts from Instagram. You need to have a basic working knowledge of Python before taking this course. 


Mining the Social Web – GitHub (30 mins)

mining the social web GitHubThis short video course shows you how to mine data from GitHub using Python and then how to construct interest graphs to visualise and analyse the data that you retrieve. You need to have a basic working knowledge of Python before taking this course.


Mining the Social Web – LinkedIn (40 mins)

mining the social web linkedinThis short video course shows you how to mine data from LinkedIn using Python and then how to visualise the data and use geographical and cluster analysis to analyse the data. You need to have a basic working knowledge of Python before taking this course. 

In-depth courses

Most of these courses use Python for web scraping so you will need a basic working knowledge of Python before taking these courses. There are courses on Python available through O'Reilly Learning. 


Mining the Social Web – Data Mining Facebook, Twitter, LinkedIn, Instagram and More (5 hours)

Mining the social webThis learning path course is suitable for those with beginner or intermediate skills in Python and is designed for you to learn how to mine different social media platforms for data that can be used in marketing or research. It covers the visualisation and analysis techniques that you can use to analyse social media data. The course has also been broken down into components that can be taken as individual courses, some of which are listed on this page. 


Getting Started with Python Web Scraping  (1.5 hours)

This video course introduces you to web scraping using Python. You will need a basic to intermediate knowledge of Python before taking this course. The course covers: 

  • Scraping with the Selenium moduleGetting started with python web scraping
  • Parsing with the BeautifulSoup module
  • Working with APIs

Learning Web Scraping with JavaScript (1 hour)

This short video course will provide you with the skills you need to scrape data from the web using JavaScript and Node.js. You will need a good working knowledge of JavaScript before taking the course. The course covers: 

  • Getting started with web scrapingLearning Web Scraping with JavaScript
  • Scrape from a search engine
  • Scraping an E-commerce website using Cherrio
  • Saving the result to S3 using a NodeJS server