diff --git a/lib/provider/immowelt.js b/lib/provider/immowelt.js index 4911180..a50c5e8 100755 --- a/lib/provider/immowelt.js +++ b/lib/provider/immowelt.js @@ -1,42 +1,43 @@ -import utils, {buildHash} from '../utils.js'; +import utils, { buildHash } from '../utils.js'; let appliedBlackList = []; function normalize(o) { - const id = buildHash(o.id, o.price); - return Object.assign(o, {id}); + const id = buildHash(o.id, o.price); + return Object.assign(o, { id }); } function applyBlacklist(o) { - const titleNotBlacklisted = !utils.isOneOf(o.title, appliedBlackList); - const descNotBlacklisted = !utils.isOneOf(o.description, appliedBlackList); - return titleNotBlacklisted && descNotBlacklisted; + const titleNotBlacklisted = !utils.isOneOf(o.title, appliedBlackList); + const descNotBlacklisted = !utils.isOneOf(o.description, appliedBlackList); + return titleNotBlacklisted && descNotBlacklisted; } const config = { - url: null, - crawlContainer: 'div[data-testid="serp-card-testid"]', - sortByDateParam: 'sd=DESC&sf=TIMESTAMP', - crawlFields: { - id: 'a@id', - price: 'div[data-testid="cardmfe-price-testid"] | removeNewline | trim', - size: 'div[data-testid="cardmfe-keyfacts-testid"] | removeNewline | trim', - title: '.css-1cbj9xw', - link: 'a@href', - address: 'div[data-testid="cardmfe-description-box-address"] | removeNewline | trim', - }, - paginate: '#pnlPaging #nlbPlus@href', - normalize: normalize, - filter: applyBlacklist, + url: null, + crawlContainer: + 'div[data-testid="serp-card-testid"]:not(div[data-testid="serp-enlargementlist-testid"] div[data-testid="serp-card-testid"])', + sortByDateParam: 'order=DateDesc', + crawlFields: { + id: 'a@id', + price: 'div[data-testid="cardmfe-price-testid"] | removeNewline | trim', + size: 'div[data-testid="cardmfe-keyfacts-testid"] | removeNewline | trim', + title: '.css-1cbj9xw', + link: 'a@href', + address: 'div[data-testid="cardmfe-description-box-address"] | removeNewline | trim', + }, + paginate: '#pnlPaging #nlbPlus@href', + normalize: normalize, + filter: applyBlacklist, }; export const init = (sourceConfig, blacklist) => { - config.enabled = sourceConfig.enabled; - config.url = sourceConfig.url; - appliedBlackList = blacklist || []; + config.enabled = sourceConfig.enabled; + config.url = sourceConfig.url; + appliedBlackList = blacklist || []; }; export const metaInformation = { - name: 'Immowelt', - baseUrl: 'https://www.immowelt.de/', - id: 'immowelt', + name: 'Immowelt', + baseUrl: 'https://www.immowelt.de/', + id: 'immowelt', }; -export {config}; +export { config }; diff --git a/package.json b/package.json index 3d9a5fa..24d9d0e 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fredy", - "version": "10.1.0", + "version": "10.1.1", "description": "[F]ind [R]eal [E]states [d]amn eas[y].", "scripts": { "start": "node index.js", diff --git a/test/provider/testProvider.json b/test/provider/testProvider.json index 9f3b0da..6ff13bb 100644 --- a/test/provider/testProvider.json +++ b/test/provider/testProvider.json @@ -13,7 +13,7 @@ "enabled": true }, "immowelt": { - "url": "https://www.immowelt.de/liste/duesseldorf/wohnungen/kaufen?d=true&rmi=3&sd=DESC&sf=TIMESTAMP&sp=1", + "url": "https://www.immowelt.de/classified-search?distributionTypes=Buy,Buy_Auction,Compulsory_Auction&estateTypes=House,Apartment&locations=AD08DE2350", "enabled": true }, "immoscout": {