Skip to content

Fix EAT (Eastleigh) scraper#409

Open
symroe wants to merge 2 commits into
masterfrom
fix/EAT-scraper
Open

Fix EAT (Eastleigh) scraper#409
symroe wants to merge 2 commits into
masterfrom
fix/EAT-scraper

Conversation

@symroe

@symroe symroe commented Jul 1, 2026

Copy link
Copy Markdown
Member

What broke

meetings.eastleigh.gov.uk is protected by a Cloudflare managed challenge (cf-mitigated: challenge, cType: managed). wreq's Firefox133 TLS fingerprint receives HTTP 403 with a "Just a moment..." JS-challenge page rather than the ModGov XML response. The scraper has failed for 4 consecutive days (2026-06-27–30). Confirmed via curl -sI: response includes cf-mitigated: challenge and server: cloudflare headers, body is the Cloudflare challenge stub.

What was fixed

Scrape results

The Cloudflare managed challenge blocks all non-browser clients from this environment (including curl and our proxy), so a pre-merge count cannot be obtained here. Counts will be confirmed after the Lambda run.

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

Generated by Claude Code

Claude Code Bot and others added 2 commits June 20, 2026 07:10
meetings.eastleigh.gov.uk returns HTTP 403 to wreq's Firefox TLS
fingerprint from Lambda. Switching to playwright uses Chromium's
Chrome TLS fingerprint and executes any JS challenge, bypassing
the WAF filter.
…llenge\n\nmeetings.eastleigh.gov.uk is protected by a Cloudflare managed challenge\n(cf-mitigated: challenge, cType: managed). wreq's Firefox133 TLS fingerprint\nreceives HTTP 403 with a \"Just a moment...\" JS challenge page rather than\nthe ModGov XML. This has caused 4 consecutive failures (2026-06-27–30).\n\nHeadless Chromium bypasses the challenge by executing the required JS and\nacquiring the cf_clearance cookie before requesting the ASMX endpoint.\nSame fix pattern as FEN, PEM and other recently fixed councils.
@symroe

symroe commented Jul 1, 2026

Copy link
Copy Markdown
Member Author

Re-scrape after 9b40c00

Added http_lib = "playwright" to bypass Cloudflare managed challenge on meetings.eastleigh.gov.uk.

The Cloudflare challenge blocks all non-browser clients from this environment, so a local scrape cannot be completed. Playwright is deployed in the Lambda container and will execute the JS challenge on the next scheduled run.

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

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.

1 participant