From 9c0104a57c7eeff3e0a8c8b5aac3d00b5e56dae3 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Mon, 30 Sep 2019 10:27:12 +0200 Subject: [PATCH] refactor crawler - adapt to use new ENUM objects --- app/crawler/crawl.js | 2 -- app/crawler/specific/olx.js | 29 +++++++++++++---------------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/app/crawler/crawl.js b/app/crawler/crawl.js index e77053c..65d94ad 100644 --- a/app/crawler/crawl.js +++ b/app/crawler/crawl.js @@ -5,8 +5,6 @@ All environment specific configuration is read here and passed to the crawlers and savers. */ - -require("dotenv").config(); const OlxCrawler = require("./specific/olx"); const { OLX_CONFIG } = require("./crawlerConfig"); const PostgresSaver = require("./savers/postgres"); diff --git a/app/crawler/specific/olx.js b/app/crawler/specific/olx.js index b10f55a..0b2ee49 100644 --- a/app/crawler/specific/olx.js +++ b/app/crawler/specific/olx.js @@ -22,12 +22,12 @@ const OLX_ENUMS = { [CRAWLER_AD_TYPE.ONLY_RENT]: "&vrsta=samoizdavanje" }, OLX_AD_CATEGORY: { - [AD_CATEGORY.CATEGORY_FLAT]: "&kategorija=23", - [AD_CATEGORY.CATEGORY_HOUSE]: "&kategorija=24", - [AD_CATEGORY.CATEGORY_LAND]: "&kategorija=29", - [AD_CATEGORY.CATEGORY_OFFICE]: "&kategorija=25", - [AD_CATEGORY.CATEGORY_APARTMENT]: "&kategorija=27", - [AD_CATEGORY.CATEGORY_GARAGE]: "&kategorija=30" + [AD_CATEGORY.FLAT]: "&kategorija=23", + [AD_CATEGORY.HOUSE]: "&kategorija=24", + //[AD_CATEGORY.LAND]: "&kategorija=29", + //[AD_CATEGORY.OFFICE]: "&kategorija=25", + [AD_CATEGORY.APARTMENT]: "&kategorija=27" + //[AD_CATEGORY.CATEGORY_GARAGE]: "&kategorija=30" }, MAX_DETAIL_FIELDS: 30, OLX_PUBLISHED_DATE_FORMAT: "DD.MM.YYYY. u HH:mm", @@ -38,10 +38,7 @@ class OlxCrawler { constructor( savers = [], crawlerAdTypes = CRAWLER_AD_TYPE.ALL, - crawlerAdCategories = [ - AD_CATEGORY.CATEGORY_FLAT, - AD_CATEGORY.CATEGORY_HOUSE - ], + crawlerAdCategories = [AD_CATEGORY.FLAT, AD_CATEGORY.HOUSE], maxPages = 1000, maxResultsPerPage = 100, ignoredUsernames = [], @@ -407,7 +404,7 @@ class OlxCrawler { url, agencyObjectId: olxId, originAgencyName: AD_AGENCY.OLX, - realEstateType: this.getAdCategoryId(category), + realEstateType: parsedCategory, adType: parsedAdType, title, price: parsedPrice, @@ -448,15 +445,15 @@ class OlxCrawler { getAdCategoryId(categoryText) { switch (categoryText) { case "Stanovi": - return AD_CATEGORY.CATEGORY_FLAT; + return AD_CATEGORY.FLAT.id; case "Zemljišta": - return AD_CATEGORY.CATEGORY_LAND; + return undefined; //AD_CATEGORY.LAND; case "Kuće": - return AD_CATEGORY.CATEGORY_HOUSE; + return AD_CATEGORY.HOUSE.id; case "Poslovni prostori": - return AD_CATEGORY.CATEGORY_OFFICE; + return undefined; //AD_CATEGORY.OFFICE; case "Apartmani": - return AD_CATEGORY.CATEGORY_APARTMENT; + return AD_CATEGORY.APARTMENT.id; default: return undefined; }