Skip to content

CMD (Camden) scraper failing — Cloudflare Managed Challenge blocking playwright #431

Description

@symroe

Error (2026-07-11)

Page.goto: Timeout 30000ms exceeded.
navigating to "https://democracy.camden.gov.uk/mgWebService.asmx/GetCouncillorsByWard"

Background

Previous issues #310, #337, #343 all covered the same Cloudflare challenge block; #343 was closed 2026-06-26 as "completed" but the scraper is still failing today with the same pattern.

Current state

The scraper has use_proxy = True + http_lib = "playwright". As noted in issue #343: the PROXY_URL is not passed to PlaywrightHTTPClient, so use_proxy = True is silently ignored when playwright is the HTTP client. Playwright connects directly from Lambda and hits the Cloudflare Managed Challenge, which times out after 30 seconds.

From our environment: democracy.camden.gov.uk returns HTTP 403 with a Cloudflare "Just a moment..." managed challenge page (confirmed: cf-mitigated: challenge, cType: 'managed').

Fix patterns ruled out

  1. HTTPS migration — already HTTPS
  2. verify_requests = False — not a cert issue
  3. Removing use_proxy = True — has no effect; playwright already ignores the proxy setting (confirmed in base.py lines 71–74)
  4. http_lib = "playwright" without proxy — already set; Cloudflare Managed Challenge requires a non-datacenter IP that can pass Cloudflare's bot score check

What needs to happen

This requires either:

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions