| properties.push(property); | properties.push(property); | ||||
| console.log(`${link} scraped.`); | console.log(`${link} scraped.`); | ||||
| limit++; | limit++; | ||||
| }catch(err){ | |||||
| } catch (err) { | |||||
| console.error(`${link} scrape failed.`); | console.error(`${link} scrape failed.`); | ||||
| } | } | ||||
| } | } | ||||
| }); | }); | ||||
| app.post("/scrapes/", async (req, res) => { | app.post("/scrapes/", async (req, res) => { | ||||
| const location = req.body.location; | const location = req.body.location; | ||||
| const description = req.body.description; | |||||
| const price = req.body.price; | const price = req.body.price; | ||||
| const beds = req.body.beds; | const beds = req.body.beds; | ||||
| const type = req.body.type; | const type = req.body.type; | ||||
| const dbo = client.db(database); | const dbo = client.db(database); | ||||
| let collection = dbo.collection('scrapes'); | let collection = dbo.collection('scrapes'); | ||||
| const dt = new Date(); | const dt = new Date(); | ||||
| dt.setSeconds( dt.getSeconds() + resultCount ); | |||||
| dt.setSeconds(dt.getSeconds() + resultCount); | |||||
| let res = await collection.insertOne({ | let res = await collection.insertOne({ | ||||
| count: resultCount, | count: resultCount, | ||||
| pageCount: pagesCount, | pageCount: pagesCount, | ||||
| estimate: dt, | estimate: dt, | ||||
| sourceUrl: query, | sourceUrl: query, | ||||
| location: location, | location: location, | ||||
| description: description, | |||||
| filters: [ | filters: [ | ||||
| { name: 'price', value: price }, | { name: 'price', value: price }, | ||||
| { name: 'beds', value: beds }, | { name: 'beds', value: beds }, |