crawling and saving to mongo
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
MONGO_URL='mongodb://localhost:27017/kivi'
|
||||
OLX_FROM_PAGE=8
|
||||
OLX_TO_PAGE=8
|
||||
OLX_MAX_RESULTS=1000
|
||||
OLX_MAX_RESULTS=3
|
||||
|
||||
@@ -24,20 +24,21 @@ let savers = [
|
||||
new MongoSaver(process.env.MONGO_URL)
|
||||
];
|
||||
|
||||
let done = 0;
|
||||
async function crawlAll() {
|
||||
let crawlersAndSaversDone = 0;
|
||||
|
||||
for (let crawler of crawlers) {
|
||||
try {
|
||||
crawler.crawl().then((results) => {
|
||||
let results = await crawler.crawl()
|
||||
for (let saver of savers) {
|
||||
try {
|
||||
saver.open();
|
||||
saver.save(results);
|
||||
await saver.connect();
|
||||
await saver.save(results);
|
||||
} catch (e) {
|
||||
console.log("Error saving. Trying next saver! ", e);
|
||||
|
||||
crawlersAndSaversDone += 1;
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
console.log("Error crawling. Trying next crawler! ", e);
|
||||
}
|
||||
@@ -46,3 +47,6 @@ for (let crawler of crawlers) {
|
||||
for (let saver of savers) {
|
||||
saver.close();
|
||||
}
|
||||
}
|
||||
|
||||
crawlAll();
|
||||
|
||||
@@ -15,7 +15,7 @@ export default class MongoSaver {
|
||||
console.log('Unable to connect to the mongoDB server. Error:', err);
|
||||
reject(err);
|
||||
} else {
|
||||
console.log('Connection established to', url);
|
||||
console.log('Connection established to', this.url);
|
||||
saver.db = db;
|
||||
saver.collection = db.collection('results');
|
||||
saver.ready = true;
|
||||
|
||||
@@ -122,7 +122,7 @@ export default class OlxCrawler {
|
||||
async indexPages(start, end, maxResults = 1000) {
|
||||
let results = {};
|
||||
for (let i = start; i <= end; i++) {
|
||||
let result = await this.indexPage(i, numberOfResults);
|
||||
let result = await this.indexPage(i, maxResults);
|
||||
Object.assign(results, result)
|
||||
await this.sleep(5000);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user