The Hausing Scraper is a Python script designed to scrape rental property listings from Hausing for Amsterdam. It extracts key details about properties such as addresses, prices, statuses, and the number of bedrooms, and outputs this data in both JSON and Markdown formats.
- Scrapes rental listings from a specified URL.
- Extracts detailed information:
- Address
- Price
- Availability status
- Number of bedrooms
- Google Maps link
- Outputs data to:
listings.jsonfor structured storage.hausing-scraper.mdfor human-readable documentation.
- Extracts detailed information:
- Python 3.x
- Required libraries:
- requests
- beautifulsoup4
You can install the required libraries using at the root of the directory:
pip install -r requirements.txtTo run the scraper, execute the script:
python hausing_scraper.pyThe script will scrape the listings and update the JSON and Markdown files.
The Production Workflow is set up to automatically update the housing scraper hourly and can also be triggered manually or on push to the main branch.
- Workflow File:
.github/workflows/prod.yml
Uses the scraper.py file to run the script and generare outputs.
- Updated
hausing-scraper.mdandlistings.jsonfiles - The
hausing-scraper.mdfile is copied over to my personal github.io page, commited, pushed, merged, and deployed to the repo
The Development Workflow is designed for testing updates to the scraper. It triggers on pushes to the dev branch.
Workflow File: .github/workflows/dev.yml
- Updated
hausing-scraper.mdandlistings.jsonfiles - The
hausing-scraper.mdfile is copied over to my personal github.io page but NOT (commited, pushed, merged, and deployed)
Support other website scraping like http://pararius.com and https://www.funda.nl in results
The results right are filtered by max price, if it is available, and how many bedrooms
Price: Max €2650/mo
Beds: 2
Listing Status: Available
Client-Side Filtering (After Build)
This project is licensed under the MIT License. See the LICENSE file for details.