"use strict"; const cheerio = require("cheerio"); const url = require("url"); const assureResponse = require("../../shared/assure-response"); module.exports = function findCategories({ session }) { return async function ({ createItem }) { let response = await session.get("https://www.st.com/content/st_com/en.html"); assureResponse(response); let $ = cheerio.load(response.body); let links = $("#Top_Menu_Products :is(a.st-nav__blockmenu-title, a.st-nav__blockmenu-link)") .toArray() .map((element) => $(element).attr("href")) .map((relativeURL) => url.resolve("https://www.st.com/", relativeURL)); for (let link of links) { createItem({ id: `st:category:${link}`, tags: [ "st:category" ], data: { url: link } }); } }; };