MIL-002 scrape price (Step 1) #33

Merged
Tirsvad merged 2 commits from mil-002-scrape-price into main 2026-10-28 07:40:45 +01:00
2 Commits
Author SHA1 Message Date
Tirsvad 72c6a6dea7 Resolve pending commit links of MIL-002 2026-10-28 14:40:37 +08:00
Tirsvad 5ac60a43fc MIL-002 scrape price (Step 1)
Delivers MIL-002 (lecture Step 1): BeautifulSoup reads the title and the price (as a float, 99.99) from the practice page. Layers: domain (Product, errors), application (ports, read_product), infrastructure (scraper, HTTP client), main as composition root. Tests use a trimmed fixture of the practice page and never the network.

Review: code against QC-PY-001 as RC-011 (Go, autonomous, not independent). 15 pytest tests, ruff and mypy --strict pass; a real run printed 99.99. Screenshots: docs/images/step-1-*.png.

Task: MIL-002#1
Task: MIL-002#2
Task: MIL-002#3
Task: MIL-002#4
Task: MIL-002#5
2026-10-28 14:40:33 +08:00