node-csfd-api
Version:
ČSFD API in JavaScript. Amazing NPM library for scrapping csfd.cz :)
32 lines (30 loc) • 1.09 kB
JavaScript
import { fetchPage } from "../fetchers/index.mjs";
import { cinemasUrl } from "../vars.mjs";
import { getCinemaCoords, getCinemaId, getCinemaUrl, getGroupedFilmsByDate, parseCinema } from "../helpers/cinema.helper.mjs";
import { parse } from "node-html-parser";
//#region src/services/cinema.service.ts
var CinemaScraper = class {
async cinemas(district = 1, period = "today", options) {
const contentNode = parse(await fetchPage(cinemasUrl(district, period, { language: options?.language }), { ...options?.request })).querySelectorAll("#snippet--cinemas section[id*=\"cinema-\"]");
return this.buildCinemas(contentNode);
}
buildCinemas(contentNode) {
const cinemas = [];
contentNode.forEach((x) => {
const cinemaInfo = parseCinema(x);
const cinema = {
id: getCinemaId(x),
name: cinemaInfo?.name,
city: cinemaInfo?.city,
url: getCinemaUrl(x),
coords: getCinemaCoords(x),
screenings: getGroupedFilmsByDate(x)
};
cinemas.push(cinema);
});
return cinemas;
}
};
//#endregion
export { CinemaScraper };
//# sourceMappingURL=cinema.service.mjs.map