This scraper is using scrapfly.io and Python to scrape property listing data from idealista.com.
Full tutorial https://scrapfly.io/blog/how-to-scrape-idealista/
The scraping code is located in the idealista.py
file. It's fully documented and simplified for educational purposes and the example scraper run code can be found in run.py
file.
This scraper scrapes:
- Idealista property search for finding property listings
- Idealista property pages for property listing data
- Idealista province pages for property URLs
For output examples see the ./results
directory.
Note that this code is provided free of charge as is, and Scrapfly does not provide free web scraping support or consultation. For any bugs, see the issue tracker.
This Idealista.com scraper uses Python 3.10 with scrapfly-sdk package which is used to scrape and parse Idealista's property data.
- Ensure you have Python 3.10 and poetry Python package manager on your system.
- Retrieve your Scrapfly API key from https://scrapfly.io/dashboard and set
SCRAPFLY_KEY
environment variable:$ export SCRAPFLY_KEY="YOUR SCRAPFLY KEY"
- Clone and install Python environment:
$ git clone https://github.com/scrapfly/scrapfly-scrapers.git $ cd scrapfly-scrapers/idealista-scraper $ poetry install
- Run example scrape:
$ poetry run python run.py
- Run tests:
$ poetry install --with dev $ poetry run pytest test.py # or specific scraping areas $ poetry run pytest test.py -k test_idealista_scraping $ poetry run pytest test.py -k test_provinces_scraping $ poetry run pytest test.py -k test_search_scraping