seo-scraper
Version:
Scrape SEO elements or whatever you need with this scraper built in Node.js
23 lines (21 loc) • 664 B
JavaScript
module.exports = function parseSERP(document, selectors, ...args) {
const scrapedArr = []
const { parent, elements } = selectors;
document
.querySelectorAll(parent)
.forEach(node => {
const scrapedElement = {}
for (const [method, value] of Object.entries(elements)) {
for (const [selectorName, selector] of Object.entries(value)) {
try {
scrapedElement[selectorName] = node.querySelector(selector)[method];
} catch (err) {
console.error(err);
scrapedElement[selectorName] = '';
}
}
}
scrapedArr.push(scrapedElement);
})
return scrapedArr;
}