node-csfd-api
Version:
ČSFD API in JavaScript. Amazing NPM library for scrapping csfd.cz :)
33 lines (32 loc) • 1.52 kB
JavaScript
const require_vars = require("../vars.cjs");
const require_index = require("../fetchers/index.cjs");
const require_global_helper = require("../helpers/global.helper.cjs");
const require_creator_helper = require("../helpers/creator.helper.cjs");
let node_html_parser = require("node-html-parser");
//#region src/services/creator.service.ts
var CreatorScraper = class {
async creator(creatorId, options) {
const id = require_global_helper.extractId(creatorId);
if (id === null || isNaN(id)) throw new Error("node-csfd-api: creatorId must be a valid number");
const creatorHtml = (0, node_html_parser.parse)(await require_index.fetchPage(require_vars.creatorUrl(id, { language: options?.language }), { ...options?.request }));
const asideNode = creatorHtml.querySelector(".creator-about");
const filmsNode = creatorHtml.querySelector(".creator-filmography");
return this.buildCreator(+creatorId, asideNode, filmsNode);
}
buildCreator(id, asideEl, filmsNode) {
const birthdayInfo = require_creator_helper.getCreatorBirthdayInfo(asideEl);
return {
id,
name: require_creator_helper.getCreatorName(asideEl),
birthday: birthdayInfo?.birthday,
birthplace: birthdayInfo?.birthPlace,
photo: require_creator_helper.getCreatorPhoto(asideEl),
age: birthdayInfo?.age || null,
bio: require_creator_helper.getCreatorBio(asideEl),
films: require_creator_helper.getCreatorFilms(filmsNode)
};
}
};
//#endregion
exports.CreatorScraper = CreatorScraper;
//# sourceMappingURL=creator.service.cjs.map