Challenge: Domain and realestate.com.au block automated browsers before any content loads. Later, homely.com.au moved to a newer Next.js version and the original data source disappeared overnight.
What I did: I tested each portal with headless Chromium to find one that serves real data. I parse the embedded JSON rather than the rendered HTML. When the page format changed, I added a decoder for the new streamed format and kept the old path as well.
Outcome: When parsing fails, the scan shows a clear warning instead of crashing or quietly publishing an empty report. Bad upstream values, such as $1 prices or 34-hectare suburban blocks, are filtered out by sanity bounds.