UNPKG

node-csfd-api

Version:

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

52 lines (51 loc) 1.89 kB
import { addProtocol, parseColor, parseFilmType, parseIdFromUrl } from "./global.helper.js"; //#region src/helpers/search.helper.ts const getSearchType = (el) => { const type = el.querySelectorAll(".film-title-info .info")[1]; return parseFilmType(type?.innerText?.replace(/[{()}]/g, "")?.trim() || "film"); }; const getSearchTitle = (el) => { return el.querySelector(".film-title-name").text; }; const getSearchYear = (el) => { return +el.querySelector(".film-title-info .info")?.innerText.replace(/[{()}]/g, ""); }; const getSearchUrl = (el) => { return el.querySelector(".film-title-name").attributes.href; }; const getSearchColorRating = (el) => { return parseColor(el.querySelector(".article-header i.icon").classNames.split(" ").pop()); }; const getSearchPoster = (el) => { const image = el.querySelector("img").attributes.src; return addProtocol(image); }; const getSearchOrigins = (el) => { const originsRaw = el.querySelector(".article-content p .info")?.text; if (!originsRaw) return []; return (originsRaw?.split(", ")?.[0])?.split("/").map((country) => country.trim()); }; const parseSearchPeople = (el, type) => { let who; if (type === "directors") who = "Režie:"; if (type === "actors") who = "Hrají:"; const pNodes = el && el.querySelectorAll(".article-content p"); let peopleNode = null; if (pNodes) { for (const p of pNodes) if (p.textContent.includes(who)) { peopleNode = p; break; } } if (peopleNode) return peopleNode.querySelectorAll("a").map((person) => { return { id: parseIdFromUrl(person.attributes.href), name: person.innerText.trim(), url: `https://www.csfd.cz${person.attributes.href}` }; }); else return []; }; //#endregion export { getSearchColorRating, getSearchOrigins, getSearchPoster, getSearchTitle, getSearchType, getSearchUrl, getSearchYear, parseSearchPeople }; //# sourceMappingURL=search.helper.js.map