fixing immowelt provider

This commit is contained in:
orangecoding
2026-03-08 09:29:40 +01:00
parent eb53b68d45
commit 0cad05124a

View File

@@ -9,7 +9,9 @@ import checkIfListingIsActive from '../services/listings/listingActiveTester.js'
let appliedBlackList = []; let appliedBlackList = [];
function shortenLink(link) { function shortenLink(link) {
return link.substring(0, link.indexOf('?')); if (!link) return '';
const index = link.indexOf('?');
return index === -1 ? link : link.substring(0, index);
} }
function parseId(shortenedLink) { function parseId(shortenedLink) {
@@ -23,7 +25,7 @@ function normalize(o) {
const title = o.title || 'No title available'; const title = o.title || 'No title available';
const address = o.address || null; const address = o.address || null;
const shortLink = shortenLink(o.link); const shortLink = shortenLink(o.link);
const link = `${baseUrl}/${shortLink}`; const link = baseUrl + shortLink;
const image = baseUrl + o.image; const image = baseUrl + o.image;
const id = buildHash(parseId(shortLink), o.price); const id = buildHash(parseId(shortLink), o.price);
return Object.assign(o, { id, price, size, title, address, link, image }); return Object.assign(o, { id, price, size, title, address, link, image });
@@ -37,18 +39,18 @@ function applyBlacklist(o) {
const config = { const config = {
url: null, url: null,
crawlContainer: '._ref', crawlContainer: 'a:has(div.list_entry)',
sortByDateParam: 'sort_col=*created_ts&sort_dir=desc', sortByDateParam: 'sort_col=*created_ts&sort_dir=desc',
waitForSelector: 'body', waitForSelector: 'body',
crawlFields: { crawlFields: {
id: '@href', //will be transformed later id: '@href', //will be transformed later
price: '.list_entry .immo_preis .label_info', price: '.immo_preis .label_info',
size: '.list_entry .flaeche .label_info | removeNewline | trim', size: '.flaeche .label_info | removeNewline | trim',
title: '.list_entry .part_text h3 span', title: 'h3 span',
description: '.list_entry .description | trim', description: '.description | trim',
link: '@href', link: '@href',
address: '.list_entry .place', address: '.place',
image: '.list_entry img@src', image: 'img@src',
}, },
normalize: normalize, normalize: normalize,
filter: applyBlacklist, filter: applyBlacklist,