Free Proxy Health List

实时快照 · 3,287 proxies

用于网页采集的免费代理

在采集过程中轮换 IP,避免所有请求都压在同一个地址上而触发频率限制。

用于网页采集的免费代理

1. 下载列表

curl -sL https://raw.githubusercontent.com/xyzs996/free-proxy-health-list/main/all.txt -o proxies.txt

2. 载入并轮换

import itertools, requests

proxies = [line.strip() for line in open("proxies.txt") if line.strip()]
pool = itertools.cycle(proxies)

def fetch(url):
    for _ in range(10):
        proxy = next(pool)
        try:
            return requests.get(
                url,
                proxies={"http": f"http://{proxy}", "https": f"http://{proxy}"},
                timeout=8,
            )
        except requests.RequestException:
            continue
    raise RuntimeError("no working proxy")

能帮你省时间的说明

免费代理本身就经常失败,所以上面那个循环才是关键:始终尝试下一个条目,而不是把一次失败当成致命错误。超时要设短 —— 一个失效代理会让每个请求都白白等满超时 —— 并按发布频率重新下载列表,避免一直在用几小时前就过期的条目。请遵守 robots.txt 和目标站点的条款;轮换是为了分摊负载,不是为了绕过访问控制。

相关教程

公开快照的使用边界
免费公共代理由不明身份的第三方运营且被多人共享,切勿通过它们传输密码、令牌或个人数据。请遵守 GitHub 可接受使用政策:不得用于垃圾信息、攻击、绕过访问控制,或违反网站政策的采集行为。