GithubHelp home page GithubHelp logo

vardecab / flat-finder Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 1.0 114.85 MB

Looking for a modern, nicely looking apartment but tired with all these old flats from the '90s? Let's automate that :) Scrape apartment offers from OLX․pl, analyse them using artificial intelligence (AI) model to get only good looking flats and (optionally) run IFTTT automation (eg. send email; add a to-do task) when new offers matching search criteria are found.

License: GNU General Public License v3.0

Python 100.00%
ifttt tensorflow image-classification image-recognition python3 python olx-crawler olx scraper scraping-websites

flat-finder's Introduction

flat-finder

Not Maintained

As of late 2022, serious rewrite from BeautifulSoup to Selenium is needed because BeautifulSoup is struggling to download the whole page. This results in just 5-10% images downloaded.





Looking for a modern, nicely looking apartment but tired with all these old flats from the '90s? Let's automate that :)

Scrape apartment offers from OLX․pl, analyse them using artificial intelligence (AI) model to get only good looking flats and (optionally) run IFTTT automation (eg. send email; add a to-do task) when new offers matching search criteria (eg. ≥ 2 rooms, ≤ 2k PLN, ≥ 30m²) are found.

With support for native macOS & Windows 10 notifications.

Screenshots

macOS Windows

Features

  • Get offers from OLX․pl
  • Pagination support
  • Artificial intelligence (AI) model to assess if an aparment is modern or not
  • IFTTT (eg. send an email or add a to-do task if new offer is found)
  • Cross platform (macOS & Windows)
  • Native notifications (macOS & Windows)

How to use

Coming soon™.

Release History

  • 0.14.2: Fixed offer counter & Windows 10 notification icon not showing up.
  • 0.14.1: Added two additional calculations to know how much time it takes to train the model and how much time it takes to download and classify the images.
  • 0.14: Refactored code; moved some more code to functions; added support for more than one URL with offers (eg. useful w/ multiple locations); tried to achieve feature parity between Windows and macOS; improved model accuracy; changed comparison mode so that previously seen offers are not shown again; cleaner output / general look & feel; removed unused code; other small improvements.
  • 0.13: Open folders for manual review of the images.
  • 0.12: Added colorama to have colored output; changed URL; added more images to model's dataset; added fix for feedModel.py crashing due to duplicates found in target location.
  • 0.11.3: Forced to look only on 3 subpages.
  • 0.11.2: Increased # of epochs to improve model's accuracy; added more images to model's dataset.
  • 0.11.1: Changed title in notifications.
  • 0.11: Automated runs using Task Scheduler (Windows) & Automator (macOS). Added more images to model's dataset. Disabled IFTTT automation for testing.
  • 0.10.2: Cleaned up the code. Added comments.
  • 0.10.1: Cleaned up the code.
  • 0.10: Added macOS compatibility. Enabled IFTTT automation. Improved model accuracy - newly downloaded images are used to feed the model so it can improve itself over time.
  • 0.9: Pagination support.
  • 0.8: Enabled Windows 10 & macOS notifications when new offers are found.
  • 0.7: Downloading images to unique folders. Added data comparison logic to show which offers are new vs previous script run.
  • 0.6: Adding only "modern" offers to a text file. Changed local images renaming logic.
  • 0.5: Started to build some if/else logic for when offer is modern/ancient.
  • 0.4: Added v1 of AI model to assess which offer shows new ("modern") and which old ("ancient") apartments.
  • 0.3: Downloading offers' main images'.
  • 0.2: Getting offers' URLs + offers' main images' URLs.
  • 0.1: Initial release.

Versioning

Using SemVer.

License

Acknowledgements

Libs

Stack Overflow

Other

Contributing

If you found a bug or want to propose a feature, feel free to visit the Issues page.

flat-finder's People

Contributors

vardecab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

hbcbh1999

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.