import { load } from 'cheerio' import http from './utils/http.js' /** * Cari berita di Liputan6.com * @param {string} keyword * @param {number} limit */ export async function searchLiputan6(keyword, limit = 10) { try { const url = `https://www.liputan6.com/search?q=${encodeURIComponent(keyword)}` const { data } = await http.get(url) const $ = load(data) const results = [] $('article, .articles--iridescent-list--text-item, .article-list-item').each((_, el) => { if (results.length >= limit) return false const title = $(el).find('h4, h3, h2, .articles--iridescent-list--text-item__title').first().text().trim() const link = $(el).find('a').first().attr('href') ?? null const time = $(el).find('time, .articles--iridescent-list--text-item__time').first().text().trim() || null const source = 'Liputan6' const thumb = $(el).find('img').attr('src') ?? null if (title && link) results.push({ title, link, time, source, thumb }) }) return { status: true, total: results.length, source: 'liputan6', data: results } } catch (err) { return { status: false, source: 'liputan6', error: err.response?.status || err.message } } }