node-csfd-api
Version:
ČSFD API in JavaScript. Amazing NPM library for scrapping csfd.cz :)
32 lines (30 loc) • 1.28 kB
JavaScript
import { fetchPage } from "../fetchers/index.mjs";
import { creatorUrl } from "../vars.mjs";
import { getCreatorBio, getCreatorBirthdayInfo, getCreatorFilms, getCreatorName, getCreatorPhoto } from "../helpers/creator.helper.mjs";
import { parse } from "node-html-parser";
//#region src/services/creator.service.ts
var CreatorScraper = class {
async creator(creatorId, options) {
const id = Number(creatorId);
if (isNaN(id)) throw new Error("node-csfd-api: creatorId must be a valid number");
const creatorHtml = parse(await fetchPage(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) {
return {
id,
name: getCreatorName(asideEl),
birthday: getCreatorBirthdayInfo(asideEl)?.birthday,
birthplace: getCreatorBirthdayInfo(asideEl)?.birthPlace,
photo: getCreatorPhoto(asideEl),
age: getCreatorBirthdayInfo(asideEl)?.age || null,
bio: getCreatorBio(asideEl),
films: getCreatorFilms(filmsNode)
};
}
};
//#endregion
export { CreatorScraper };
//# sourceMappingURL=creator.service.mjs.map