node-csfd-api
Version:
ČSFD API in JavaScript. Amazing NPM library for scrapping csfd.cz :)
35 lines (34 loc) • 1.51 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.CinemaScraper = void 0;
const node_html_parser_1 = require("node-html-parser");
const fetchers_1 = require("../fetchers");
const vars_1 = require("../vars");
const cinema_helper_1 = require("./../helpers/cinema.helper");
class CinemaScraper {
async cinemas(district = 1, period = 'today') {
const url = (0, vars_1.cinemasUrl)(district, period);
const response = await (0, fetchers_1.fetchPage)(url);
const cinemasHtml = (0, node_html_parser_1.parse)(response);
const contentNode = cinemasHtml.querySelectorAll('#snippet--cinemas section.box');
this.buildCinemas(contentNode);
return this.cinema;
}
buildCinemas(contentNode) {
const cinemas = [];
contentNode.forEach((x) => {
const cinemaInfo = (0, cinema_helper_1.parseCinema)(x);
const cinema = {
id: (0, cinema_helper_1.getCinemaId)(x),
name: cinemaInfo === null || cinemaInfo === void 0 ? void 0 : cinemaInfo.name,
city: cinemaInfo === null || cinemaInfo === void 0 ? void 0 : cinemaInfo.city,
url: (0, cinema_helper_1.getCinemaUrl)(x),
coords: (0, cinema_helper_1.getCoords)(x),
screenings: (0, cinema_helper_1.getGroupedFilmsByDate)(x)
};
cinemas.push(cinema);
});
this.cinema = cinemas;
}
}
exports.CinemaScraper = CinemaScraper;
;