SPB Git forge
38commits 1branches 0releases
338.7 MBsize
maindefault branch
3 h agolast push
HTML 53.9% TypeScript 44.5% JavaScript 0.6% SQL 0.5%
2.3 KB · 36 lines markdown
Rendered Raw Blame History
1# Kao Data (`kaodata`)23- **Domain**: `www.kaodata.com` · **Kind**: operator · **Priority**: 2 · **Enabled**: yes4- **License / attribution**: Publicly accessible operator pages; factual data only; © Kao Data — attribution “Kao Data”5- **Coverage**: GB67## What it collects89Facility records (`kind: facility`) via parser(s) `kaodata_facility_v1` in `apps/worker/src/connectors/operators2/emea.ts`.1011Fields published by the pages and captured: campus record (address, postalCode, plannedPowerMw full-build, siteAreaHa, buildingSqm, renewableClaim, certifications) plus one record per building (code, itCapacityMw, status).1213Every field carries an extraction method in `methods` (e.g. `json-ld:PostalAddress`, `regex:it_mw_v1`, `attr:data-value+MW`, `lookup:city-country`) for provenance. Coordinates are only taken from JSON-LD / embedded JSON / map links published by the operator — never geocoded. Status defaults to `operational` unless the page uses pipeline wording (under construction / coming soon / planned).1415## Discovery1617- Sitemaps: `https://kaodata.com/wp-sitemap-posts-page-1.xml`, `https://kaodata.com/wp-sitemap-posts-news-1.xml`18- Include: `/locations/[a-z-]+/$`, `/news/.`19- Exclude: `\?`, `#`20- Classify: `/locations/[a-z-]+/$` → facility_pages (facility_page); `/news/.` → newsroom (press_release)2122Newsroom URLs (when configured) rely on the GenericConnector news fallback (press_release → `news_event` when data-center relevant).2324## Schedule & fetch2526- Schedule: facility_pages weekly, newsroom daily, sitemap weekly27- Fetch: L1→L2, 15 rpm, concurrency 2, robots.txt respected, max 20 premium credits/run. All pages are served at L1 (plain HTTP); `maxLevel` is capped at 2 so false-positive “blocked” heuristics (HubSpot / cookie-consent strings) never spend Scrapfly credits.2829## Quirks3031Campus pages /locations/<campus>/ publish the campus address, full-build IT load, acreage and a list of buildings 'KLON-01 (8.8MW Operational)' → campus record + one record per building with its own MW and lifecycle status. Cookie-consent scripts trip the blocked heuristic → maxLevel 2.3233## Verification (live, 2026-09-11)3435`try-connector --limit N`: discovered 112 URLs (facility_pages=4, newsroom=108); sampled pages → 11 entities, 11 valid, 0 rejected, 0 premium credits.36