diff --git a/app/helpers/scraping.js b/app/helpers/scraping.js new file mode 100644 index 0000000..6ae60cc --- /dev/null +++ b/app/helpers/scraping.js @@ -0,0 +1,27 @@ +let fetch = require("node-fetch"); + +const getRealEstateGeolocation = async (url) => { + let response = await fetch(url); + const body = await response.text(); + let lat, long; + const googleMapRegex = new RegExp(/google.maps.LatLng\((.*?)\)/g); + const googleMapString = body.match(googleMapRegex); + if (googleMapString && googleMapString.length) { + const latLongRegex = new RegExp(/\((.*?)\)/g); + let latLongString = googleMapString[0].match(latLongRegex); + if (latLongString && latLongString.length) { + latLongString = latLongString[0].trim(); + latLongString = latLongString.substr(1, latLongString.length - 2); + const latLongArray = latLongString.split(","); + if (latLongArray.length) { + lat = latLongArray[0]; + long = latLongArray[1]; + } + } + } + return { lat, long }; +} + +module.exports = { + getRealEstateGeolocation +};