UNPKG

tester-scraper

Version:

Sebuah Module Scraper yang dibuat oleh Sxyz dan SuzakuTeam untuk memudahkan penggunaan scraper di project ESM maupun CJS.

85 lines (75 loc) 2.33 kB
import axios from "axios"; import * as cheerio from "cheerio"; const info = { jadwalTV: { freeChannel: async (channelName) => { const { data } = await axios.get( `https://www.jadwaltv.net/channel/${channelName}`, ); const $ = cheerio.load(data); const result = []; $("table.table-bordered") .first() .find("tr") .each((_, el) => { const td = $(el).find("td"); if (td.length >= 2) { const time = td.eq(0).text().trim(); const show = td.eq(1).text().trim(); if (time && show && !show.includes("Jadwal TV selengkapnya")) { result.push({ time, show }); } } }); return result; }, payChannel: async (channelName) => { const urlFriendlyName = channelName.toLowerCase().replace(/\s+/g, "-"); const { data } = await axios.get( `https://www.jadwaltv.net/jadwal-pay-tv/${urlFriendlyName}`, ); const $ = cheerio.load(data); const result = []; $("table.table-bordered") .first() .find("tr") .each((_, el) => { const td = $(el).find("td"); if (td.length >= 2) { const time = td.eq(0).text().trim(); const show = td.eq(1).text().trim(); if (time && show && !show.includes("Jadwal TV selengkapnya")) { result.push({ time, show }); } } }); return result; }, }, jadwalSholat: async (kota) => { if (!kota) return "Query Kota Kosong Bodo"; try { let { data } = await axios.get( `https://www.umroh.com/jadwal-sholat/${kota}`, ); let $ = cheerio.load(data); let hasil = []; $("table tbody tr").each((_, el) => { let kolom = $(el).find("td"); hasil.push({ tanggal: $(kolom[0]).text().trim(), imsyak: $(kolom[1]).text().trim(), subuh: $(kolom[2]).text().trim(), dzuhur: $(kolom[3]).text().trim(), ashar: $(kolom[4]).text().trim(), maghrib: $(kolom[5]).text().trim(), isya: $(kolom[6]).text().trim(), }); }); return hasil; } catch (e) { return `Gagal mengambil data: ${e.message}`; } }, }; export default info;