UNPKG

koleksi-api

Version:
55 lines (52 loc) 2.49 kB
const axios = require('axios'); const cheerio = require('cheerio'); function kompasnews() { return new Promise((resolve, reject) => { axios.get(`https://news.kompas.com/`) .then(({ data }) => { const $ = cheerio.load(data) const hasil = []; $('body > div > div.container.clearfix > div:nth-child(3) > div.col-bs10-7 > div:nth-child(3) > div.latest.ga--latest.mt2.clearfix > div > div ').each(function(a, b) { result = { status: 200, berita: $(b).find('> div > div.article__box > h3').text(), upload_time: $(b).find('> div > div.article__box > div.article__date').text(), type_berita: $(b).find('> div > div.article__boxsubtitle > h2').text(), link: $(b).find('> div > div.article__box > h3 > a').attr('href'), thumbnail: $(b).find('> div > div.article__asset > a > img').attr('data-src'), info_berita: $(b).find('> div > div.article__box > div.article__lead').text() } hasil.push(result) }) resolve(hasil) }) .catch(reject) }) } function inews() { return new Promise((resolve, reject) => { axios.get(`https://www.inews.id/news`) .then(({ data }) => { const $ = cheerio.load(data) const hasil = []; $('#news-list > li ').each(function(a, b) { result = { status: 200, berita: $(b).find('> a > div > div > div.float-left.width-400px.margin-130px-left > div.title-news-update.padding-0px-top').text().trim(), upload_time: $(b).find('> a > div > div > div.float-left.width-400px.margin-130px-left > div.date.margin-10px-left').text().trim().split('|')[0], link: $(b).find('> a').attr('href'), thumbnail: $(b).find('> a > div > div > div.float-left.width-130px.position-absolute > img').attr('data-original'), info_berita: $(b).find('> a > div > div > div.float-left.width-400px.margin-130px-left > p').text() } hasil.push(result) }) resolve(hasil) }) .catch(reject) }) } module.exports = { kompasnews, inews }