I Turned Spain's BOE Public Auctions Portal into a Searchable Site
Spain's BOE runs a public auction portal. Every day it lists court-ordered repossessions, tax-agency seizures and notarial sales: flats, garages, warehouses, plots, vehicles. Each listing states an auction value, a minimum bid, a deposit, whether the property is occupied and what charges survive the sale. All of it is public, and none of it is designed to be read by someone deciding whether to…
Spain's BOE runs a public auction portal that lists court-ordered repossessions, tax-agency seizures, and notarial sales of various properties. Each listing includes an auction value, minimum bid, deposit, property occupation status, and any remaining charges. The portal is designed for official use, not for casual bidders. Subastas BOE is a Spanish-language site that transforms these listings into a searchable catalogue.
The challenge was to make a government HTML portal function like a dataset. The scraper first retrieves a list of auctions, then fetches detailed information for each one, with a maximum of 30 pages, spaced 1.5-2.5 seconds apart. The configuration uses CSS selectors and transformation rules to extract relevant information from the pages.
The portal's inconsistent province names are resolved during the ingestion process, ensuring a consistent URL structure. The extracted data includes the auction value, appraisal, minimum bid, deposit, occupancy status, and charges. The scraper handles missing values, such as deposits or charges, by displaying explicit messages instead of empty cells.
Occupancy and charges are described in prose, which are converted into boolean values using regex patterns. The auction expiry date is used for data retention, with a two-day grace period before records are removed from the live collection. Closed auctions still resolve, displaying an archived layout with links to the live inventory.
This approach allows for cross-linking between auctions and other resources without the need for per-site translation tables.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.