
1. 下载列表
curl -sL https://raw.githubusercontent.com/xyzs996/free-proxy-health-list/main/all.txt -o proxies.txt2. 载入并轮换
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 可接受使用政策:不得用于垃圾信息、攻击、绕过访问控制,或违反网站政策的采集行为。
免费公共代理由不明身份的第三方运营且被多人共享,切勿通过它们传输密码、令牌或个人数据。请遵守 GitHub 可接受使用政策:不得用于垃圾信息、攻击、绕过访问控制,或违反网站政策的采集行为。