Free Proxy Health List

Cuplikan langsung · 55,863 proxies

Middleware proxy Scrapy

Middleware pengunduh siap pakai yang berganti tiap permintaan dan mengulang saat gagal.

Middleware proxy Scrapy

1. middlewares.py

import itertools, random

class RotatingProxyMiddleware:
    def __init__(self):
        with open("proxies.txt") as handle:
            self.proxies = [line.strip() for line in handle if line.strip()]
        random.shuffle(self.proxies)
        self.pool = itertools.cycle(self.proxies)

    def process_request(self, request, spider):
        request.meta["proxy"] = f"http://{next(self.pool)}"

2. settings.py

DOWNLOADER_MIDDLEWARES = {
    "myproject.middlewares.RotatingProxyMiddleware": 350,
    "scrapy.downloadermiddlewares.retry.RetryMiddleware": 550,
}
RETRY_TIMES = 5
DOWNLOAD_TIMEOUT = 10

Catatan yang menghemat waktu

Urutan penting: middleware proxy harus jalan sebelum middleware retry agar tiap percobaan ulang memilih proxy baru, bukan mengulang yang gagal. Jaga DOWNLOAD_TIMEOUT tetap rendah — proxy gratis adalah bagian paling lambat dalam pipeline — dan naikkan RETRY_TIMES untuk menyerap tingkat kegagalan.

Panduan terkait

Batas cuplikan publik
Proxy publik gratis dipakai bersama dan dioperasikan pihak yang tidak dikenal. Jangan pernah mengirim kata sandi, token, atau data pribadi melaluinya. Patuhi Kebijakan Penggunaan yang Dapat Diterima GitHub: tanpa spam, tanpa serangan, tanpa melewati kontrol akses, tanpa scraping yang melanggar kebijakan situs.