Preparing to save results to db
This commit is contained in:
@@ -110,8 +110,6 @@ module.exports = class OlxCrawler {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async indexPage(url, maxResults = 1000) {
|
async indexPage(url, maxResults = 1000) {
|
||||||
try {
|
try {
|
||||||
// console.log('Starting to index page: ' + pageNr);
|
// console.log('Starting to index page: ' + pageNr);
|
||||||
@@ -138,7 +136,7 @@ module.exports = class OlxCrawler {
|
|||||||
if (singleData) {
|
if (singleData) {
|
||||||
results.push(singleData);
|
results.push(singleData);
|
||||||
}
|
}
|
||||||
await this.sleep(500);
|
// await this.sleep(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
@@ -177,7 +175,7 @@ module.exports = class OlxCrawler {
|
|||||||
let result = await this.indexPage(url, maxResults);
|
let result = await this.indexPage(url, maxResults);
|
||||||
// Object.assign(results, result)
|
// Object.assign(results, result)
|
||||||
results.push(result);
|
results.push(result);
|
||||||
await this.sleep(5000);
|
// await this.sleep(5000);
|
||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|||||||
10
app/helpers/db/dbHelper.js
Normal file
10
app/helpers/db/dbHelper.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
// const db = require('../../models/index');
|
||||||
|
|
||||||
|
|
||||||
|
// const bulkInsert = async (reuslts) => {
|
||||||
|
// db.MarketAlert.bulkCreate({
|
||||||
|
|
||||||
|
// })
|
||||||
|
|
||||||
|
// }
|
||||||
@@ -7,7 +7,7 @@ const currentRERequest = async (req) => {
|
|||||||
const request = await db.RealEstateRequest.findOne({ where: {uniqueId} });
|
const request = await db.RealEstateRequest.findOne({ where: {uniqueId} });
|
||||||
return request;
|
return request;
|
||||||
};
|
};
|
||||||
|
// TODO Fetch only subscribed realestate requests
|
||||||
const allRERequest = async () => {
|
const allRERequest = async () => {
|
||||||
return await db.RealEstateRequest.findAll();
|
return await db.RealEstateRequest.findAll();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,12 @@ module.exports = (sequelize, DataTypes) => {
|
|||||||
realestateOrigin: DataTypes.STRING,
|
realestateOrigin: DataTypes.STRING,
|
||||||
originId: DataTypes.STRING,
|
originId: DataTypes.STRING,
|
||||||
lastDate: DataTypes.STRING,
|
lastDate: DataTypes.STRING,
|
||||||
|
size : DataTypes.INTEGER,
|
||||||
|
gardenSize : DataTypes.INTEGER,
|
||||||
|
price : DataTypes.INTEGER,
|
||||||
|
municipailty : DataTypes.STRING,
|
||||||
|
region : DataTypes.STRING,
|
||||||
|
|
||||||
email: {
|
email: {
|
||||||
type: DataTypes.STRING,
|
type: DataTypes.STRING,
|
||||||
allowNul: false
|
allowNul: false
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
|
|
||||||
// import OlxCrawler from '../helpers/crawlers/olixClawler'
|
// import OlxCrawler from '../helpers/crawlers/olixClawler'
|
||||||
const OlxCrawler = require("../helpers/crawlers/olxClawler");
|
const OlxCrawler = require("../helpers/crawlers/olxClawler");
|
||||||
|
const db = require("../models/index");
|
||||||
|
const MarketAlert = require("../models/marketalert");
|
||||||
|
|
||||||
const crawlers = [
|
const crawlers = [
|
||||||
new OlxCrawler(1, 2, 3),
|
new OlxCrawler(1, 2, 3),
|
||||||
@@ -8,22 +10,33 @@ const crawlers = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
async function crawlAll() {
|
async function crawlAll() {
|
||||||
|
console.log(db.MarketAlert);
|
||||||
|
|
||||||
for (let crawler of crawlers) {
|
for (let crawler of crawlers) {
|
||||||
try {
|
try {
|
||||||
let results = await crawler.crawl()
|
let results = await crawler.crawl();
|
||||||
for (let saver of savers) {
|
|
||||||
try {
|
for (const result of results) {
|
||||||
await saver.connect();
|
|
||||||
await saver.save(results);
|
const newMAlert = Object.assign({}, MarketAlert)
|
||||||
} catch (e) {
|
console.log(newMAlert);
|
||||||
console.log("Error saving. Trying next saver! ", e);
|
db.MarketAlert.bulkCreate( [{
|
||||||
}
|
|
||||||
|
}])
|
||||||
}
|
}
|
||||||
|
// for (let saver of savers) {
|
||||||
|
// try {
|
||||||
|
// await saver.connect();
|
||||||
|
// await saver.save(results);
|
||||||
|
// } catch (e) {
|
||||||
|
// console.log("Error saving. Trying next saver! ", e);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("Error crawling. Trying next crawler! ", e);
|
console.log("Error crawling. Trying next crawler! ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for (let saver of savers) {
|
for (let saver of savers) {
|
||||||
saver.close();
|
saver.close();
|
||||||
|
|||||||
Reference in New Issue
Block a user