Book Image

R Web Scraping Quick Start Guide

By : Olgun Aydin
Book Image

R Web Scraping Quick Start Guide

By: Olgun Aydin

Overview of this book

Web scraping is a technique to extract data from websites. It simulates the behavior of a website user to turn the website itself into a web service to retrieve or introduce new data. This book gives you all you need to get started with scraping web pages using R programming. You will learn about the rules of RegEx and Xpath, key components for scraping website data. We will show you web scraping techniques, methodologies, and frameworks. With this book's guidance, you will become comfortable with the tools to write and test RegEx and XPath rules. We will focus on examples of dynamic websites for scraping data and how to implement the techniques learned. You will learn how to collect URLs and then create XPath rules for your first web scraping script using rvest library. From the data you collect, you will be able to calculate the statistics and create R plots to visualize them. Finally, you will discover how to use Selenium drivers with R for more sophisticated scraping. You will create AWS instances and use R to connect a PostgreSQL database hosted on AWS. By the end of the book, you will be sufficiently confident to create end-to-end web scraping systems using R.
Table of Contents (7 chapters)

Step-by-step web scraping with RSelenium

In this part, we are going to focus on collecting data from Instagram by using RSelenium. First of all, we are going to navigate the URL of the Instagram post, and collects comments and parses comments to detect users who put comments and users who are mentioned.

Collecting data with RSelenium

Let's start collecting data from Instagram by using the RSelenium library. First of all, we have to load the RSelenium library using the following command:

#loading libraries

Now we load Selenium drivers and start Selenium. It may take time, so please wait till loading finishes:

#loading drivers and starting selenium
rD <- rsDriver()
remDr <- rD[["client&quot...