- itertools.cycle() + threading.Lock() for thread-safe round-robin - _next_proxy() returns (name, url) — never hits same proxy twice in a row - DEFAULT_TIMEOUT = 300s (5 min) per API call - crawl_url: timeout param, thread-enforced, returns proxy name - research_topic: same timeout + proxy reporting - Proxies: Tokyo/London/Sydney — no rate limits ever
53 KiB
53 KiB