Hi,
Im using the module ScraperNinja. I’m having problems with the Extractor JS. The Extractor JS i’m using is working on their playground (ScrapeNinja Live Sandbox) but on Make. This dosent make any sense.
Example URL im scraping: https: // www. finn.no/realestate/homes/ad.html?finnkode=346814072&ci=18
The Extractor JS:
function (input, cheerio) {
let $ = cheerio.load(input);
let data = {
image: $(‘meta[property=“og:image”]’).attr(‘content’),
favicon: $(‘link[rel=“icon”]’).attr(“href”) ||
$(‘link[rel=“shortcut icon”]’).attr(“href”),
url: $(‘link[rel=“canonical”]’).attr(“href”),
title: $(‘title’).text().trim(),
description: $(‘meta[name=description]’).attr(‘content’),
h1: $(‘h1’).text().trim(),
priceValue: $(‘div[data-testid=“pricing-incicative-price”] span.text-28.font-bold’).text().trim() || ‘’,
totalPrice: $(‘div[data-testid=“pricing-total-price”] dd.font-bold’).text().trim() || ‘’,
address: $(‘a[data-testid=“map-link”] span[data-testid=“object-address”]’).text().trim() || ‘’,
pRom: $(‘div[data-testid=“info-primary-area”] dd.font-bold’).text().trim().replace(/\D/g, ‘’) || ‘’,
tomteareal: $(‘div[data-testid=“info-plot-area”] dd.font-bold’).text().trim().replace(/\D/g, ‘’) || ‘’,
soverom: $(‘div[data-testid=“info-rooms”] dd.font-bold’).text().trim() || ‘’,
byggeaar: $(‘div[data-testid=“info-construction-year”] dd.font-bold’).text().trim() || ‘’,
boligtype: $(‘div[data-testid=“info-property-type”] dd.font-bold’).text().trim() || ‘’,
fellesgjeld: $(‘div[data-testid=“pricing-joint-debt”] dd.font-bold’).text().trim() || ‘’
}
let regex = /^https?://?[^/]+/;
// if relative url in files found - try to make it absolute
if (data.url) {
let m = data.url.match(regex);
if (data.image && data.image[0] == ‘/’) {
data.image = m[0] + data.image;
}
if (data.favicon && data.favicon[0] == '/') {
data.favicon = m[0] + data.favicon;
}
}
return data;
}
The error im recieveing in Make is “Error: SyntaxError: Invalid or unexpected token”, but it works in their playground, the same code
