Path: blob/master/node_modules/@bochilteam/scraper/lib/esm/others/jadwal-tv.js
1126 views
import got from 'got';1import cheerio from 'cheerio';2import { ScraperError } from '../utils.js';3export const listJadwalTV = (async () => await got('https://raw.githubusercontent.com/BochilTeam/scraper/master/data/jadwal-tv.json').json())();4export default async function jadwalTV(channel) {5const list = await listJadwalTV;6const data = list.find(({ channel: name }) => (new RegExp(channel, 'ig')).test(name));7if (!data)8throw new ScraperError(`List not found!!\n${JSON.stringify(listJadwalTV, null, 2)}`);9const text = await got(`https://www.jadwaltv.net/${data.isPay ? 'jadwal-pay-tv/' : ''}${data.value}`).text();10const result = [];11const $ = cheerio.load(text);12$('div > table.table').each(function () {13$(this).find('tbody > tr')14.slice(1).each(function () {15const el = $(this).find('td');16const date = el.eq(0).text();17const event = el.eq(1).text();18if (!/Jadwal TV selengkapnya di/ig.test(event)) {19result.push({20date, event21});22}23});24});25return {26channel: data.channel,27result28};29}30export async function jadwalTVNow() {31const text = await got('https://www.jadwaltv.net/channel/acara-tv-nasional-saat-ini').text();32const result = {};33const $ = cheerio.load(text);34$('div > table.table').each(function () {35let prevChannel;36$(this).find('tbody > tr')37.slice(1).each(function () {38const el = $(this).find('td');39const channel = el.eq(0).find('strong > a[href]')40.text().trim().toLowerCase();41if (channel) {42prevChannel = channel;43result[channel] = [];44}45else if (prevChannel) {46const date = el.eq(0).text();47const event = el.eq(1).text();48result[prevChannel].push({49date,50event51});52}53});54});55return result;56}57//# sourceMappingURL=jadwal-tv.js.map5859