Web Scraping with R

Salman Fadhilurrohman
2 min readApr 22, 2023

--

Untuk membuat web scraping menggunakan Software R studio adapun langkah-langkahnya sebagai berikut:
STEP 1

Pertama yang dilakukan adalah menginstal Packages “rvest”

#Install Packages
library(“rvest”)

Kemudian setelah berhasil di instal berikutnya membaca packages yang aktif menggunakan syntax:

search()

melihat isi packages nomo 2 pada “rvest” menggunakan syntax:

ls(2)
STEP 2

Pada langkah kedua yaitu memasukan data. data yang penulis pakai adalah data dari Internet Movie Database; http://www.imdb.com/search/title?count=100&release_date=2018,2018&title_type=feature"

#Manggil data dari web
url <- “http://www.imdb.com/search/title?count=100&release_date=2018,2018&title_type=feature"
url
#Membaca Web
webpage <- read_html(url)
webpage

STEP 3

Nah setelah data sudah berhasil dimasukan, kemudian penulis akan melihat ranking atau peringkat movie dengan menggunakan nilai pecahan.

rank_data_html <- html_nodes(webpage,’.text-primary’)

selanjutnya mengonverensi data peringkat menggunakan teks:

rank_data <- html_text(rank_data_html)
rank_data

Mari kita lihat peringkat movie terbaik

head(rank_data)

STEP 4

Kali ini penulis ingin Mengetahui Rangkin Dengan Numerik dengan menggunakan syntax:

rank_data<-as.numeric(rank_data)
rank_data

Let’s have another look at the rankings

head(rank_data)

STEP 5

Using CSS selectors to scrap the title section

title_data_html <- html_nodes(webpage,’.lister-item-header a’)

Mengubah data judul menjadi teks

title_data <- html_text (title_data_html)
title_data

Mari kita lihat judulnya
head (title_data)
STEP 6

Pada step ke enam penulis ingin mengatahui intisari dari film yang ada yaitu menggunakan syntax:

description_data_html <- html_nodes(webpage,’.ratings-bar+ .text-muted’)

Mengubah data uraian menjadi teks:

description_data <- html_text(description_data_html)
description_data

Mari kita lihat pada deskripsi data
kepala (description_data)
STEP 7

Selanjutnya penulis ingin melihat durasi wakti film, menggunakan syntax:

runtime_data_html <- html_nodes(webpage,’.text-muted .runtime’)

Mengonversi data runtime ke teks
runtime_data <- html_text (runtime_data_html)

Mari kita lihat runtime
head (runtime_data)

#proses removing

Menghapus menit dan mengubahnya menjadi numerik
runtime_data <-gsub (“min”, “”, runtime_data)
runtime_data <-as.numeric (runtime_data)

Mari kita lihat lagi data runtime
head (runtime_data)
STEP 8

Membuat syntax untuk melihat genre film:

Filmgengen__ata_html <- html_nodes (halaman web, ‘. Genre’)
genre_data_html <- html_nodes (halaman web, ‘. genre’)

#Mengonversi data genre ke teks

genre_data <- html_text (genre_data_html)

kepala (genre_data)

#proses removing

#Mengonversi setiap genre dari teks ke faktor
genre_data <-as.factor (genre_data)

# Mari kita lihat lagi data genre
kepala (genre_data)
STEP 9

Melihat rating yang diperoleh film

rating_data_html <- html_nodes (halaman web, ‘. ratings-imdb-rating strong’)

Mengonversi data peringkat ke teks
rating_data <- html_text (rating_data_html)

kepala (rating_data)

Data-Preprocessing: mengubah peringkat menjadi numerik
rating_data <-as.numeric (rating_data)

Mari kita lihat lagi data peringkat
kepala (rating_data)
STEP 10

Menggabungkan semua daftar untuk membentuk bingkai data:

movies_df <-data.frame (Peringkat = rank_data, Judul = title_data,

Deskripsi = description_data, Runtime = runtime_data,

Genre = genre_data, Rating = rating_data,

Met SofaScore = metegle_data, Votes = votes_data, Gross_Earning_in_Mil = gross_data,

Direktur = directors_data, Aktor = actor_data)

Struktur kerangka data
str (movies_df)
perpustakaan (‘ggplot2’)
qplot (data = movies_df, Runtime, fill = Genre, bins = 30)

--

--