Skip to main content

FundaScaper provides you the easiest way to perform web scraping from Funda, the Dutch housing website.

Project description

FundaScraper

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Build Status codecov Downloads PyPI version PEP8

FundaScaper provides you the easiest way to perform web scraping from Funda, the Dutch housing website. You can find houses either for sale or for rent, and the historical data from the past few year are also attainable.

Please note:

  1. Scraping this website is ONLY allowed for personal use (as per Funda's Terms and Conditions).
  2. Any commercial use of this Python package is prohibited. The author holds no liability for any misuse of the package.

Install

  1. The easiest way is to install with pip:
pip install funda-scraper
  1. You can also clone the repository to your local machine with:
git clone https://github.com/whchien/funda-scraper.git
cd funda-scraper
export PYTHONPATH=${PWD}
python funda_scraper/scrape.py --area amsterdam --want_to rent --find_past False --page_start 1 --n_pages 3

Quickstart

from funda_scraper import FundaScraper

scraper = FundaScraper(area="amsterdam", want_to="rent", find_past=False, page_start=1, n_pages=3, min_price=500, max_price=2000)
df = scraper.run(raw_data=False, save=True, filepath="test.csv")
df.head()

image

*** Note: if you are using Windows, please add if __name__ == '__main__': before your script.

You can pass several arguments to FundaScraper() for customized scraping:

  • area: Specify the city or specific area you want to look for, e.g. Amsterdam, Utrecht, Rotterdam, etc
  • want_to: You can choose either buy or rent, which finds houses either for sale or for rent.
  • find_past: Specify whether you want to find the data in the past or the ones in the market. If True, only historical data will be scraped. The default is False.
  • page_start: Indicate which page you want to start scraping. The default is 1.
  • n_pages: Indicate how many page you want to scrape. The default is 1.
  • min_price: Indicate the lowest amount for the budget
  • max_price: Indicate the highest amount for the budget

The scraped raw result contains following information:

  • url
  • price
  • address
  • description
  • listed_since
  • zip_code
  • size
  • year_built
  • living_area
  • kind_of_house
  • building_type
  • num_of_rooms
  • num_of_bathrooms
  • layout
  • energy_label
  • insulation
  • heating
  • ownership
  • exteriors
  • parking
  • neighborhood_name
  • date_list
  • date_sold
  • term
  • price_sold
  • last_ask_price
  • last_ask_price_m2
  • city

*** Note: information regarding listing date is no longer available since 2023 Q4. Funda requires users to log in to see this information.

You can specify scraper.run(raw_data=True) to fetch the data without preprocessing.

More information

You can check the example notebook for further details. Please give me a star if you find this project helpful.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

funda-scraper-1.1.1.tar.gz (87.9 kB view hashes)

Uploaded Source

Built Distribution

funda_scraper-1.1.1-py3-none-any.whl (11.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page