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
JavaScript
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;