Komikcast Scraper
Pada artikel kali ini, kita akan membahas bagaimana cara mengambil data dari situs komik populer.

Muhamad Nur Ibad
7 Januari 2025•1 menit baca

Komikcast Scrape - Mengambil Data Komik dengan Mudah
Pada artikel kali ini, kita akan membahas bagaimana cara mengambil data dari situs komik populer, Komikcast, menggunakan teknik web scraping. Dengan memanfaatkan dua pustaka JavaScript yang sangat populer, yaitu axios untuk pengambilan data HTTP dan cheerio untuk manipulasi HTML, kita dapat dengan mudah mengambil informasi komik seperti daftar komik terbaru, detail komik, hingga chapter-chapter terbaru.
Apa itu Web Scraping?
Web scraping adalah teknik yang digunakan untuk mengekstraksi data dari situs web secara otomatis. Dalam hal ini, kita akan menggunakan web scraping untuk mengambil data komik dari Komikcast dan menyajikannya sesuai kebutuhan.
Langkah-Langkah untuk Membuat Komikcast Scraper
Pada contoh kode di bawah ini, kita membuat sebuah class Komikcast yang memiliki beberapa metode untuk mengambil berbagai jenis data dari situs Komikcast.
import axios from "axios";
import * as cheerio from "cheerio";
// Scraped By Kaviaann
// Protected By MIT LICENSE
export class Komikcast {
base_url;
base_header;
constructor(url) {
this.base_url = url || "https://komikcast.bz/";
this.base_header = {
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7,ms;q=0.6",
"Cache-Control": "no-cache",
Pragma: "no-cache",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36",
};
}
async getHotUpdate() {
try {
const response = await axios.get(this.base_url, { headers: this.base_header });
const $ = cheerio.load(response.data);
const hotUpdates = $("div.listupd.komikinfo")
.find(".swiper-wrapper")
.children("div.splide-slide")
.map((i, el) => {
return {
title: $(el).find("a[href]").attr("title"),
link: $(el).find("a[href]").attr("href"),
thumbnail: $(el).find("img").attr("src"),
chapter: {
number: $(el).find("div.chapter").text().trim(),
link: $(el).find("div.chapter").attr("href"),
},
rating: +$(el).find("div.numscore").text().replace(",", ".").trim(),
};
})
.get();
return hotUpdates;
} catch (e) {
throw new Error(`Error in getHotUpdate: ${e}`);
}
}
// Mendapatkan daftar proyek komik
async getProjectList(page) {
try {
const data = await this.getKomikFunc(`${this.base_url}project-list`, { page });
return data;
} catch (e) {
throw new Error(`Error in getProjectList: ${e}`);
}
}
// Fungsi umum untuk mengambil data komik
async getKomikFunc(link, config) {
try {
let finalLink = `${link}${config?.page ? `/page/${config.page}` : ""}`;
const response = await axios.get(finalLink, { headers: this.base_header });
const $ = cheerio.load(response.data);
const komikList = $("div.list-update_items-wrapper")
.children("div.list-update_item")
.map((i, el) => {
return {
title: $(el).find("h3").text().trim(),
link: $(el).find("a").attr("href"),
thumbnail: $(el).find("img").attr("src"),
};
})
.get();
return komikList;
} catch (e) {
throw new Error(`Error in getKomikFunc: ${e}`);
}
}
}
Penjelasan Kode
- Mendapatkan Data Hot Update:
Fungsi getHotUpdate digunakan untuk mendapatkan informasi komik terbaru di halaman utama Komikcast.
Data yang diambil mencakup judul, link, thumbnail, chapter terbaru, dan rating.
- Mendapatkan Daftar Proyek Komik:
Fungsi getProjectList memungkinkan kita untuk mendapatkan daftar proyek komik berdasarkan halaman yang diinginkan.
- Fungsi Umum untuk Mengambil Data Komik:
getKomikFunc adalah fungsi yang digunakan untuk mendapatkan data komik secara umum, termasuk judul, link, dan thumbnail dari daftar komik.
Penggunaan
Untuk menggunakan scraper ini, cukup buat objek dari kelas Komikcast dan panggil metode yang diinginkan. Berikut contoh penggunaan:
const komikcast = new Komikcast();
// Mendapatkan data komik terbaru
komikcast.getHotUpdate()
.then(data => console.log(data))
.catch(error => console.error(error));
Kesimpulan
Dengan menggunakan teknik web scraping, kita bisa dengan mudah mendapatkan berbagai informasi dari situs web, seperti daftar komik terbaru, detail komik, dan chapter terbaru. Namun, perlu diingat bahwa scraping situs web harus dilakukan dengan bijak dan sesuai dengan kebijakan penggunaan situs tersebut.
Semoga artikel ini membantu Anda memahami bagaimana cara kerja scraping untuk Komikcast menggunakan JavaScript!
Sumber: https://whatsapp.com/channel/0029Vac0YNgAjPXNKPXCvE2e