3 ms·
Interesting article: I did something similar but for Zürich (finding a low-price, but good apartment there is almost impossible). I did follow a different appr
by denysvitali 5y ago
Interesting article: I did something similar but for Zürich (finding a low-price, but good apartment there is almost impossible).
I did follow a different approach though, and reverse engineered the APIs of the most common rental listing websites here.
I didn't publish the code (or better said, I didn't make it public), but it's similar to yours. Instead of SQLite I used a PostGis database where I stored the apartments with their point to point public transport distance from my office (pre-covid search). I did it in Rust.
Whilst the application is not available to the public (yet), all of the libraries I've created are now available.
I should have both a Rust and a Golang version for most / all of them.
On a side note, I did a similar project (scraper + visualizer / search) for finding a job for my girlfriend by scraping LinkedIn, Xing and a couple of other local job posting websites.
[0]: https://github.com/denysvitali/sbb-api-rs https://github.com/denysvitali/sbb-api-rs
[1]: https://github.com/denysvitali/homegate-rs https://github.com/denysvitali/homegate-rs
[2]: https://github.com/denysvitali/flatfox-rs https://github.com/denysvitali/flatfox-rs
[3]: https://github.com/denysvitali/go-sbb-api https://github.com/denysvitali/go-sbb-api
- vageli 5y ago> I didn't publish the code (or better said, I didn't make it public), but it's similar to yours. Instead of SQLite I used a PostGis database where I stored the apartments with their point to point public transport distance from my office (pre-covid search). I did it in Rust. How did you convert an address to long/lat for postgis?
- denysvitali 5y agoI was lucky, the data also included lat/lng and the address for most (if not all) the entries. If I would have been confronted with such a situation though, I would have probably used some Geocoding API like Google Maps's geocoding [0] or OSM's Nominatim [1]. [0]: https://developers.google.com/maps/documentation/geocoding/overview https://developers.google.com/maps/documentation/geocoding/o... [1]: https://wiki.openstreetmap.org/wiki/Nominatim https://wiki.openstreetmap.org/wiki/Nominatim
- mattrighetti 5y agoYou could use nominatim [0] [0]: https://nominatim.org https://nominatim.org
- megous 5y agoSome countries publish all addresses with geolocation information as part of open data initiatives.
- bogomipz 5y agoInteresting. I am curious how did the ultimately play you for you? I'd be curious to hear the outcome. Thanks for the links.
- denysvitali 5y agoFound a really cheap apartment, although a bit small, in a very convenient location. The apartment was also new. I'd say a very good price/value ratio. I now moved away from Zurich, but that apartment was very convenient. When I organized the viewing, ~100 people were interested and ~30 visited the apartment. Obviously in the end only one got it (:
- seanmcdirmid 5y agoIf Zurich is anything like Lausanne, it has been that way for awhile. I had a heck of a time finding a place in 2005, the property management companies and landlords were all very picky even if rents were high as well.