Compare commits
6 Commits
fixing-sal
...
saljic-cra
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f56cd5b549 | ||
|
|
addd8c1344 | ||
|
|
fc7fe3c0b3 | ||
|
|
b3007123a5 | ||
|
|
f7d4a9cd07 | ||
|
|
ab6812889a |
@@ -9,7 +9,7 @@ const APP_URL =
|
|||||||
? process.env.APP_URL || "http://market-alarm"
|
? process.env.APP_URL || "http://market-alarm"
|
||||||
: process.env.APP_URL || `${APP_BASE_URL}:${APP_PORT}`;
|
: process.env.APP_URL || `${APP_BASE_URL}:${APP_PORT}`;
|
||||||
|
|
||||||
const STAGING = process.env.SETTINGS !== "production";
|
const STAGING = process.env.ENVIRONMENT !== "production";
|
||||||
|
|
||||||
const DEFAULT_TIMEZONE = "Europe/Sarajevo";
|
const DEFAULT_TIMEZONE = "Europe/Sarajevo";
|
||||||
|
|
||||||
@@ -55,5 +55,4 @@ module.exports = {
|
|||||||
STAGING,
|
STAGING,
|
||||||
CHECK_UP_DAYS,
|
CHECK_UP_DAYS,
|
||||||
PROSTOR_LOGIN
|
PROSTOR_LOGIN
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ class SaljicCrawler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async scrapeAd(url, adType) {
|
async scrapeAd(url, adType) {
|
||||||
// console.log("[SALJIC] Scraping : ", url);
|
console.log("[SALJIC] Scraping : ", url);
|
||||||
try {
|
try {
|
||||||
const adPageSource = await fetch(url);
|
const adPageSource = await fetch(url);
|
||||||
const body = await adPageSource.text();
|
const body = await adPageSource.text();
|
||||||
@@ -227,7 +227,9 @@ class SaljicCrawler {
|
|||||||
// No information for status ex. PRODAN
|
// No information for status ex. PRODAN
|
||||||
const status = AD_STATUS.STATUS_NORMAL;
|
const status = AD_STATUS.STATUS_NORMAL;
|
||||||
//Extracting agency ID from url
|
//Extracting agency ID from url
|
||||||
const agencyObjectId = parseInt(url.substring(46, url.length));
|
const agencyObjectId = url
|
||||||
|
? parseInt(url.substring(46, url.length))
|
||||||
|
: null;
|
||||||
|
|
||||||
//Extracting main properties
|
//Extracting main properties
|
||||||
const propertySelectors = {
|
const propertySelectors = {
|
||||||
@@ -272,14 +274,10 @@ class SaljicCrawler {
|
|||||||
.trim();
|
.trim();
|
||||||
|
|
||||||
const latAndLongSrc = $(propertySelectors.latAndLong).attr("src");
|
const latAndLongSrc = $(propertySelectors.latAndLong).attr("src");
|
||||||
const latText = latAndLongSrc.substring(
|
const tmpLatLong = latAndLongSrc.split("marker=")[1];
|
||||||
latAndLongSrc.indexOf("marker=") + 7,
|
const latText = tmpLatLong.split("%2C")[0];
|
||||||
latAndLongSrc.indexOf("%2C", latAndLongSrc.indexOf("marker="))
|
const longText = tmpLatLong.split("%2C")[1];
|
||||||
);
|
|
||||||
const longText = latAndLongSrc.substring(
|
|
||||||
latAndLongSrc.indexOf("%2C", latAndLongSrc.indexOf("marker=")) + 3,
|
|
||||||
latAndLongSrc.length
|
|
||||||
);
|
|
||||||
const locationLat = parseFloat(latText) || null;
|
const locationLat = parseFloat(latText) || null;
|
||||||
const locationLong = parseFloat(longText) || null;
|
const locationLong = parseFloat(longText) || null;
|
||||||
|
|
||||||
@@ -328,11 +326,10 @@ class SaljicCrawler {
|
|||||||
let numberOfViewsKivi = null;
|
let numberOfViewsKivi = null;
|
||||||
let streetNumber = 0;
|
let streetNumber = 0;
|
||||||
let adStatus = status;
|
let adStatus = status;
|
||||||
let shortDescription = descriptions.substring(
|
let shortDescription = descriptions
|
||||||
0,
|
? descriptions.substring(0, descriptions.indexOf("."))
|
||||||
descriptions.indexOf(".")
|
: "";
|
||||||
);
|
let longDescription = descriptions || "";
|
||||||
let longDescription = descriptions;
|
|
||||||
//Extracting data - Glavne karakteristike
|
//Extracting data - Glavne karakteristike
|
||||||
let mainFieldIndex = 1;
|
let mainFieldIndex = 1;
|
||||||
do {
|
do {
|
||||||
@@ -343,10 +340,14 @@ class SaljicCrawler {
|
|||||||
.replace(/[\n\r\t]/gm, "")
|
.replace(/[\n\r\t]/gm, "")
|
||||||
.trim();
|
.trim();
|
||||||
|
|
||||||
const mainFieldTitle = mainField.substring(0, mainField.indexOf(" "));
|
const mainFieldTitle = mainField
|
||||||
|
? mainField.substring(0, mainField.indexOf(" "))
|
||||||
|
: "";
|
||||||
const mainFieldValue = mainField
|
const mainFieldValue = mainField
|
||||||
.substring(mainField.indexOf(" "), mainField.length)
|
? mainField
|
||||||
.trim();
|
.substring(mainField.indexOf(" "), mainField.length)
|
||||||
|
.trim()
|
||||||
|
: "";
|
||||||
|
|
||||||
switch (mainFieldTitle) {
|
switch (mainFieldTitle) {
|
||||||
case "Površina":
|
case "Površina":
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ const notifyRequestsWithDailyOption = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const checkUpNotify = async () => {
|
const checkUpNotify = async () => {
|
||||||
const searchRequestsForCheckUp = await findAllRequestsForCheckUp();
|
/* const searchRequestsForCheckUp = await findAllRequestsForCheckUp();
|
||||||
|
|
||||||
const asyncSendEmailActions = [];
|
const asyncSendEmailActions = [];
|
||||||
|
|
||||||
@@ -144,7 +144,7 @@ const checkUpNotify = async () => {
|
|||||||
asyncSendEmailActions.push(sendEmailPromise);
|
asyncSendEmailActions.push(sendEmailPromise);
|
||||||
sendEmailPromise.catch(err => console.log("[Email Sending Failed]", err));
|
sendEmailPromise.catch(err => console.log("[Email Sending Failed]", err));
|
||||||
}
|
}
|
||||||
await Promise.all(asyncSendEmailActions);
|
await Promise.all(asyncSendEmailActions); */
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ SEQUELIZE_LOGGING=0- no sequelize logging, 1- log to the console
|
|||||||
PORT=Port for the app, defaults to 5000
|
PORT=Port for the app, defaults to 5000
|
||||||
APP_BASE_URL=base url for the app
|
APP_BASE_URL=base url for the app
|
||||||
|
|
||||||
SETTINGS=Variable to denote development, staging and production
|
ENVIRONMENT=Variable to denote development, staging and production
|
||||||
|
|
||||||
|
|
||||||
MAX_REAL_ESTATES_IN_EMAIL=Max number of real estates that will be shown in email, others will be truncated and URL with full list will be shwon
|
MAX_REAL_ESTATES_IN_EMAIL=Max number of real estates that will be shown in email, others will be truncated and URL with full list will be shwon
|
||||||
|
|||||||
Reference in New Issue
Block a user