This project extracts kerbside collection schedules and supporting waste service information for Glen Eira City Council.
The Glen Eira adapter located in internal/infrastructure/crawling/gleneira/ produces a single council.CrawlResult containing:
residential: Regions, contact phone and reference links for household services sourced fromResidential_Bin_Collection.json.commercial: Commercial collection regions with their scheduling metadata sourced fromCommercial_Bin_Collection_Regions.json.binInformation: Council-wide service guidance compiled from Glen Eira's public website. This section currently includes:generalWaste: Red lid general waste bin collection frequency, colour, accepted/avoid lists, and reference URL.recycling: Yellow lid recycling bin guidance, contamination reminder, accepted/avoid lists, and reference URLs.greenCompost: Lime-green lid green compost bin weekly service summary with accepted/avoid lists and source URL.hardRubbishService: Booking summary, contact phone and link for hard rubbish, bundled branches and bulk cardboard collections.
Each section contains descriptive text tailored to downstream presentation layers, with binInformation values derived from:
https://www.gleneira.vic.gov.au/services/rubbish-and-recycling/rubbish-or-recyclable-our-a-z-guide/general-waste-bin-red-lidhttps://www.gleneira.vic.gov.au/services/rubbish-and-recycling/rubbish-or-recyclable-our-a-z-guide/recycling-bin-yellow-lidhttps://www.gleneira.vic.gov.au/about-council/news/latest-news/recycle-right-don-t-put-recycling-in-plastic-bagshttps://www.gleneira.vic.gov.au/services/rubbish-and-recycling/rubbish-or-recyclable-our-a-z-guide/green-compost-bin-lime-green-lidhttps://www.gleneira.vic.gov.au/services/rubbish-and-recycling/hard-rubbish-branches-and-cardboard
cmd/crawler/โ CLI entry point that wires dependencies and runs crawl modes.internal/application/โ Service layer that orchestrates crawlers and persistence.internal/domain/โ Core contracts (crawling.Crawler,council.CrawlResult, repositories).internal/infrastructure/crawling/gleneira/โ Glen Eira datasets, GeoJSON helpers, and payload builders.internal/infrastructure/crawling/bininfo/โ HTML fetcher that normalises Glen Eira guidance into reusable payload sections.internal/infrastructure/crawling/registry/โ Shared catalogue of dataset endpoints and bin info links per council.internal/infrastructure/logging/โ Structured logging abstraction.internal/infrastructure/persistence/โ Filesystem-backed repository writing crawl outputs tooutput/.
- Go
1.25.1. - Standard library
net/httpclient with custom council-specific headers and InfoHawker crawler user agent. encoding/jsonfor dataset decoding.golang.org/x/net/html v0.44.0for HTML tokenisation when extracting bin information.- Custom validation in
internal/infrastructure/validationto enforce dataset schemas. - Structured logging and filesystem persistence adapters under
internal/infrastructure/.
Execute the CLI to crawl Glen Eira:
pwsh -Command "go run ./cmd/crawler --council glen-eira"Optional flags (see cmd/crawler/main.go) allow targeting a specific latitude/longitude.
- Run the crawler as above.
- Inspect the generated JSON under
output/. - Confirm that
payload.binInformationexists and contains the bin sections listed above alongside existingresidentialandcommercialdata.