Skip to content

Fix HMF (Hammersmith and Fulham) scraper#424

Open
symroe wants to merge 1 commit into
masterfrom
fix/HMF-scraper
Open

Fix HMF (Hammersmith and Fulham) scraper#424
symroe wants to merge 1 commit into
masterfrom
fix/HMF-scraper

Conversation

@symroe

@symroe symroe commented Jul 9, 2026

Copy link
Copy Markdown
Member

What broke

democracy.lbhf.gov.uk is fronted by Azure CDN. The WAF started returning HTTP 403 to wreq's Firefox133 TLS fingerprint on 2026-07-07 (confirmed: curl -sI returns HTTP/2 403 with x-azure-ref and x-cache: CONFIG_NOCACHE headers). The server was working previously — the WAF configuration changed, or a fingerprint rule was tightened. Same Azure WAF blocking pattern as COV (#415), GED (#417), STR (#418), and others fixed recently.

What was fixed

  • councillors.py: added http_lib = "playwright" — headless Chromium's Chrome TLS fingerprint passes the Azure WAF, allowing the ModGov XML endpoint to be reached

Scrape results

Metric Count
Councillors found TBC (Lambda run needed — Azure WAF blocks all non-Chromium clients from this environment)
With email address TBC
With photo TBC

Generated by Claude Code

…AF bypass

democracy.lbhf.gov.uk is fronted by Azure CDN and returns HTTP 403 to
wreq's Firefox133 TLS fingerprint (confirmed: x-azure-ref headers in
response). This WAF configuration started blocking wreq on 2026-07-07.
Playwright's headless Chromium uses Chrome's TLS fingerprint, which passes
the Azure WAF, allowing the ModGov XML endpoint to be reached. Same pattern
as other recently fixed councils (COV, GED, STR, etc.).
@symroe

symroe commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

Re-scrape after 7b3a33a

Added http_lib = "playwright" to bypass Azure WAF HTTP 403 on wreq's Firefox133 TLS fingerprint.

Azure WAF returns 403 with x-azure-ref / x-cache: CONFIG_NOCACHE headers to all non-Chromium clients from this environment — counts cannot be confirmed without a Lambda run. The endpoint is expected to serve valid ModGov XML once Playwright's Chrome fingerprint is used.

Metric Count
Councillors found TBC (Lambda run needed)
With email address TBC
With photo TBC

Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants