| const dbo = client.db(database); | const dbo = client.db(database); | ||||
| let collection = dbo.collection('scrapes'); | let collection = dbo.collection('scrapes'); | ||||
| let scrape = await collection.findOne({ _id: _id }); | let scrape = await collection.findOne({ _id: _id }); | ||||
| scrape.sourceUrl = "https://www.apartments.com/new-york-ny/"; | |||||
| const filterPage = await axios(scrape.sourceUrl); | const filterPage = await axios(scrape.sourceUrl); | ||||
| const html = filterPage.data; | const html = filterPage.data; | ||||
| const lifestyle = req.body.lifestyle; | const lifestyle = req.body.lifestyle; | ||||
| // query builder | // query builder | ||||
| var query = `https://www.apartments.com`; | |||||
| if(type){ | |||||
| query += `/${type}`; | |||||
| } | |||||
| if(location){ | |||||
| var locationQuery = location.replace(", ", "-").replace(" ", "-").toLowerCase(); | |||||
| query += `/${locationQuery}`; | |||||
| } | |||||
| if(beds){ | |||||
| query += `/${beds}-bedrooms`; | |||||
| } | |||||
| if(price){ | |||||
| if(beds){ | |||||
| query += `-over-${price}`; | |||||
| }else{ | |||||
| query += `/over-${price}`; | |||||
| } | |||||
| } | |||||
| if(lifestyle){ | |||||
| query += `/${lifestyle}`; | |||||
| } | |||||
| console.log(query); | |||||
| //todo: save data into the database | //todo: save data into the database | ||||
| try { | try { | ||||
| const dbo = client.db(database); | const dbo = client.db(database); | ||||
| let res = await collection.insertOne({ | let res = await collection.insertOne({ | ||||
| count: 21, | count: 21, | ||||
| estimate: Date.now(), | estimate: Date.now(), | ||||
| sourceUrl: "https://www.apartments.com", | |||||
| sourceUrl: query, | |||||
| location: location, | location: location, | ||||
| filters: [ | filters: [ | ||||
| { name: 'price', value: price }, | { name: 'price', value: price }, |