UNPKG

node-csfd-api

Version:

ČSFD API in JavaScript. Amazing NPM library for scrapping csfd.cz :)

35 lines (34 loc) 1.51 kB
"use strict"; 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;