UNPKG

otakundikz

Version:

Scraper anime dari otakudesu

42 lines (35 loc) 1.23 kB
const axios = require("axios"); const cheerio = require("cheerio"); /** * Scrap detail anime dari link otakudesu * @param {string} url - URL anime di otakudesu * @returns {Promise<{title: string, details: object, synopsis: string, episodes: object[]}>} */ async function getAnimeDetail(url) { try { const { data } = await axios.get(url); const $ = cheerio.load(data); // Judul utama const title = $(".jdlrx h1").text().trim(); // Info detail anime const details = {}; $(".infozingle p").each((i, el) => { const label = $(el).find("b").text().replace(":", "").trim(); const value = $(el).text().replace($(el).find("b").text(), "").trim(); details[label] = value; }); // Sinopsis const synopsis = $(".sinopc").text().trim(); // List episode const episodes = []; $(".episodelist ul li").each((i, el) => { const episodeTitle = $(el).find("a").text().trim(); const episodeUrl = $(el).find("a").attr("href"); episodes.push({ episodeTitle, episodeUrl }); }); return { title, details, synopsis, episodes }; } catch (error) { throw new Error("Gagal mengambil data: " + error.message); } } module.exports = { getAnimeDetail };