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)

Storing data and creating schedule jobs for web scraping

In this part, we are going to create a free-tier AWS RDS instance and write a script to connect this database by using the RPostgreSQL library. After writing this script, we will create a cronjob that automatizes web scraping and sending data to the database based on the scheduled time.

Creating an AWS RDS Instance

Let's take a look at how to create the PostgreSQL database on AWS. In this section, we will talk about how to create an AWS account and how to create an RDS instance step by step:

  1. First, visit the AWS page by using the following URL:
  1. Then click My Account to go to the login screen, as shown in the following screenshot: