const axios = require('axios'); const cheerio = require('cheerio'); async function dramaqu(page = 1) { try { if (page < 1 || page > 40) { throw new Error('Halaman harus antara 1 dan 40'); } const url = `https://dramaqu.hair/drama/page/${page}/`; const response = await axios.get(url); const html = response.data; const $ = cheerio.load(html); const dramas = []; $('.items .item.tvshows').each((index, element) => { const $element = $(element); const drama = { title: $element.find('.serie-title').text().trim(), image: $element.find('.poster img').attr('src'), type: $element.find('.features-type b').text(), year: $element.find('.features-status b').text(), link: $element.find('a').attr('href') }; dramas.push(drama); }); const result = { page: page, data: dramas }; return(JSON.stringify(result, null, 2)); } catch (error) { const errorResult = { status: 'error', message: 'Terjadi kesalahan saat scraping', page: page, error: error.message }; return(JSON.stringify(errorResult, null, 2)); } } module.exports = { dramaqu };