Scraping Anime
.
[Fida Fariha Amatullah] [G1501231064]
Pendahuluan
Situs Samehadaku adalah situs yang digunakan banyak orang untuk menyaksikan anime dengan subtitle Indonesia terbaru, dengan kualitas video yang sudah HD. Situs ini menawarkan koleksi anime yang lengkap, sehingga menjadi favorit banyak orang.
.
Kali ini akan dilakukan scrapin website https://samehadaku.email/daftar-anime-2/?order=latest&status=&type= dimana website ini menampilkan Judul Anime, Rating, Jenis Penanyangan, serta Genre. Anime-Anime seperti Naruto, Kuroko No Basuke, dan sebagainya tersedia di website ini.
- Scrapping data menggunakan package R yaitu
rvestdengan pendukung package lainnya sepertitidyverse,dplyr,tidyrdanxml2
- RDBMS yang digunakan adalah MongoDB
- Connect MongoDB ke R menggunakan bantuan package
mongolite
MongoDB Atlas
## Warning: package 'mongolite' was built under R version 4.3.3
# nama koleksi
collection <- "Anime"
# nama database
db <- "scraping"
# koneksi ke mongoDB
url <- "mongodb+srv://fidafarihaafida:22Mei2001@cluster0.8nxgwh0.mongodb.net/"
Anime <- mongo(collection=collection, db=db, url=url)Menampilkan Data dan Menyimpan Data
## Judul Rating Penayangan_new_col Genre
## 1 Kimetsu no Yaiba Season 4 Hashira Geiko-hen 8.28 TV, Ongoing Action
## 2 Boku no Hero Academia Season 7 8.00 TV, Ongoing Action
## 3 Kuroshitsuji: Kishuku Gakkou-hen 8.09 TV, Ongoing Action
## 4 Karasu wa Aruji wo Erabanai 7.00 TV, Ongoing Fantasy
## 5 The New Gate 6.60 TV, Ongoing Action
## 6 Kaijuu 8-gou 8.20 TV, Ongoing Action
Visualisasi Data
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Warning: package 'ggeasy' was built under R version 4.3.3
Jumlah Film Berdasarkan Genre
ggplot(genre_count, aes(x = reorder(Genre, n), y = n, fill = Genre)) +
geom_bar(stat = "identity") +
geom_text(aes(label = n), hjust = -0.3, size = 3.5) +
coord_flip() +
labs(title = "Jumlah Film Berdasarkan Genre", x = "Genre", y = "Jumlah Film") +
theme_minimal() +
theme(legend.position = "none")Jumlah Film Berdasarkan Jenis Penayangan
ggplot(penanyangan_count, aes(x = reorder(Penayangan_new_col, n), y = n, fill = Penayangan_new_col)) +
geom_bar(stat = "identity") +
geom_text(aes(label = n), hjust = -0.3, size = 3.5) +
coord_flip() +
labs(title = "Jumlah Film Berdasarkan Penayangan", x = "Penayangan", y = "Jumlah Film") +
theme_minimal() +
theme(legend.position = "none")Anime dengan Rating Terendah dan Rating Tertinggi
# Temukan anime dengan rating terendah
anime_terendah <- Anime$find('{"Rating": {"$exists": true}}', sort='{"Rating": 1}', limit=1)
# Temukan anime dengan rating tertinggi
anime_tertinggi <- Anime$find('{"Rating": {"$exists": true}}', sort='{"Rating": -1}', limit=1)
rbind(anime_terendah, anime_tertinggi)## Judul Rating Penayangan_new_col Genre
## 1 Bokura no Ameiro Protocol 0.00 TV, Completed Actionvidiogame
## 2 Sousou no Frieren 9.32 TV, Completed Adventure