Fix HAL (Halton) scraper#400
Open
symroe wants to merge 1 commit into
Open
Conversation
Halton's ModGov endpoint (councillors.halton.gov.uk) is accessible from non-Lambda IPs but times out from Lambda when using wreq's Firefox133 TLS emulation. The server's WAF drops connections matching wreq's specific client-hello pattern. Switching to http_lib="playwright" uses headless Chromium (standard Chrome TLS fingerprint), which passes the WAF inspection and receives the councillor XML. Live XML confirms 53 councillors with 53 photos.
Member
Author
Re-scrape after 111dd5fPlaywright fix applied: added Endpoint confirmed live: direct request to
Generated by Claude Code |
This was referenced Jul 2, 2026
symroe
added a commit
that referenced
this pull request
Jul 4, 2026
fife.gov.uk returns HTTP 403 to wreq's Firefox133 TLS fingerprint but serves the councillors page correctly to browser clients. The WAF drops the connection when it detects the non-browser TLS client-hello. This is the same WAF fingerprint block pattern seen on ELN (PR #410), HAL (#400), TON (#402), and others. Adding http_lib = "playwright" switches from wreq to headless Chromium, whose Chrome TLS fingerprint passes the WAF. The scraper has been failing for 10 consecutive days (2026-06-23 through 2026-07-02).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What broke
Halton's ModGov endpoint (
councillors.halton.gov.uk) times out when accessed from Lambda using wreq's Firefox133 TLS fingerprint. The endpoint is reachable and returns valid XML from other IPs (confirmed 200 OK with 53 councillors via standard HTTP client), confirming this is a WAF fingerprint block rather than an IP block or certificate issue.What was fixed
http_lib = "playwright"— switches from wreq (Firefox133 TLS emulation) to headless Chromium, which uses a standard Chrome TLS fingerprint that passes the WAF. This is the same fix applied to other councils with the identical pattern (DAC, LBH, NYE, WOX, TON, FOE).Scrape results
Confirmed from live XML endpoint (direct request bypassing Lambda):
Note: email count will be populated once the scraper runs end-to-end via Lambda.
Generated by Claude Code