Free Proxy Health List

ライブスナップショット · 3,287 proxies

Web スクレイピング用の無料プロキシ

スクレイピング全体で IP を巡回させ、1 つのアドレスに全リクエストが集中してレート制限に触れるのを防ぎます。

Web スクレイピング用の無料プロキシ

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")

時間を節約するための注意点

無料プロキシは本質的によく失敗するので、上のループが肝心です。1 回の失敗を致命的とせず、必ず次のエントリを試してください。タイムアウトは短く — 死んだプロキシはリクエストごとにタイムアウト分をまるまる消費します — また公開間隔に合わせてリストを取得し直し、数時間前に失効したエントリを回し続けないようにしてください。robots.txt と対象サイトの規約を尊重してください。ローテーションは負荷を分散するためのもので、アクセス制御を回避するためのものではありません。

関連ガイド

公開スナップショットの利用範囲
無料の公開プロキシは不特定の第三者が運用し共有されています。パスワードやトークン、個人情報を送信しないでください。GitHub の利用規定に従い、スパム、攻撃、アクセス制御の回避、サイトポリシーに反する収集には使用しないでください。