Putaran proksi adalah tongkat, bukan penyelesaian. Kebanyakan operasi pengikisan gagal kerana mereka menganggap alamat IP sebagai satu-satunya isyarat yang diukur oleh sistem anti-bot. Realitinya, pengurus bot moden — Akamai Bot Manager, Cloudflare Turnstile, Datadome — mengecap lebih daripada sekadar IP sumber anda. Kumpulan proksi awam percuma yang berputar hampir tidak memberi apa-apa faedah terhadap sistem tersebut, dan sering memburukkan keadaan.
Ilusi Putaran IP
Apabila anda memutarkan IP pada setiap permintaan, anda mengumumkan diri anda sebagai pengikis. Corak penyemakan imbas manusia menunjukkan sesi melekit — satu IP selama minit atau jam, cap jari pelayar yang konsisten, dan selang permintaan yang boleh diramal. Alat seperti requests dengan objek Session dan senarai proksi berputar memecahkan semua isyarat tersebut. Pengepala X-Akamai-Device-Fingerprint Akamai dan korelasi cf-request-id Cloudflare boleh menghubungkan permintaan dari IP yang berbeza apabila parameter TLS, tetapan HTTP/2, dan pemasaan kekal sama. Cabaran JavaScript Datadome memeriksa artifak pelayar tanpa kepala yang bertahan daripada perubahan proksi. Memutarkan IP tanpa memutarkan cap jari klien sepenuhnya ibarat menukar plat lesen tetapi memandu kereta yang sama — kamera tol masih menandakan anda.
Untuk pengikisan kadar rendah dan volum rendah terhadap laman yang hanya menggunakan had kadar berasaskan IP asas (contohnya, pendikit 10 permintaan seminit tanpa cabaran JavaScript), satu IP kediaman selalunya mencukupi. Saya telah menjalankan pengikis selama bertahun-tahun terhadap portal data kerajaan dan API awam menggunakan satu IP statik dan time.sleep(2) yang sopan. Tiada proksi diperlukan. Peraturannya mudah: jika laman tidak menyediakan halaman cabaran atau CAPTCHA selepas 50 permintaan, anda tidak memerlukan putaran.
Melangkaui Alamat IP: Pengecapan
Sistem anti-bot kini mengumpul berpuluh-puluh isyarat setiap permintaan. Rentetan User-Agent mudah dipalsukan, tetapi susunan Accept-Language, Sec-CH-UA, Connection, dan Accept-Encoding tidak. Lebih kritikal, pengecapan TLS — yang diseragamkan dalam hash JA3 (lihat JA3) — mengenal pasti pustaka klien melalui susunan suite sifer dan senarai sambungan TLS. Pustaka requests Python (melalui urllib3) menghasilkan hash JA3 yang berbeza daripada Chrome 124. Cloudflare Turnstile dan Datadome kedua-duanya memeriksa JA3. Memutarkan IP sambil mengekalkan timbunan TLS yang sama menjadikan setiap permintaan kelihatan seperti klien automatik yang sama, hanya melompat antara nod keluar. Proksi percuma memburukkan lagi keadaan kerana mereka sering menjalankan versi OpenSSL yang lapuk atau menggunakan konfigurasi TLS seperti bot yang sudah disenaraihitamkan.
Pengecapan HTTP/2 pergi lebih jauh. Rangka SETTINGS, nilai kemas kini tetingkap, dan parameter konkurensi strim membentuk 'cap jari HTTP/2' unik yang dikesan oleh Akamai Bot Manager merentas sesi. Kumpulan proksi berputar yang tidak turut memutarkan pelaksanaan HTTP/2 adalah remeh untuk dikelompokkan. Satu-satunya cara untuk mengelak pemeriksaan ini adalah dengan menggunakan enjin pelayar sebenar (Puppeteer, Playwright) atau timbunan TLS/HTTP yang direka dengan teliti yang meniru versi pelayar tertentu — dan walaupun begitu, anda perlu mengekalkan cap jari yang sama merentas permintaan dari sesi tertentu.
Ekonomi Kumpulan Proksi Awam Percuma
Senarai proksi awam percuma mempunyai kadar kegagalan 60–80 peratus dalam ujian saya. Kebanyakan proksi sama ada mati semasa tiba, dihadkan oleh hos, atau sudah ditandakan oleh pengurus bot utama. Purata jangka hayat proksi SOCKS5 percuma yang dikikis dari direktori awam adalah di bawah 15 minit. Mengekalkan kumpulan berputar 500 proksi bermakna anda menghabiskan ribuan IP sejam, dan 80% permintaan anda sama ada tamat masa atau mengembalikan 403. Lebar jalur tidak boleh dipercayai, lonjakan kependaman adalah biasa, dan banyak proksi percuma menyuntik iklan atau mengubah suai badan respons. Rangkaian proksi kediaman berbayar (contohnya, Bright Data, Oxylabs) menawarkan kadar kejayaan 95%+ dan pilihan sesi melekit, tetapi pada kos $10–$20 per GB. Untuk skala, pengiraan memihak kepada proksi kediaman hanya apabila anda perlu memintas sekatan berasaskan IP pada sasaran bernilai tinggi. Untuk segala-galanya, satu IP bersih dengan kadar permintaan yang betul mengatasi kumpulan percuma yang huru-hara.
Bila Putaran Sebenarnya Berfungsi
Putaran proksi berkesan terhadap satu ancaman khusus: had kadar berasaskan IP yang ditetapkan semula setiap IP. Jika laman menggunakan pemeriksaan X-Forwarded-For mudah atau baldi token setiap IP, memutarkan selepas setiap permintaan memintas had tersebut. Ini biasa berlaku di laman e-dagang yang lebih kecil dan API warisan yang tidak pernah mengemas kini pengesanan bot mereka. Dalam kes tersebut, walaupun kumpulan proksi percuma berfungsi — tetapi hanya jika anda melaksanakan logik cuba semula yang membuang proksi yang gagal dan melalui proksi baru dengan cepat.
Berikut adalah contoh Python minimum menggunakan requests dan gelung cuba semula dengan putaran. Ia menganggap senarai URL proksi dalam proxy_list dan sasaran url:
import requests
from itertools import cycle
proxy_pool = cycle(proxy_list)
max_retries = 5
for attempt in range(max_retries):
proxy = next(proxy_pool)
try:
resp = requests.get(
url,
proxies={"http": proxy, "https": proxy},
timeout=10,
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ..."}
)
if resp.status_code == 200:
break
except (requests.ConnectionError, requests.Timeout):
continue
else:
raise RuntimeError("All proxies failed")
Corak ini berfungsi hanya apabila pengesanan laman adalah semata-mata berasaskan IP. Tambah time.sleep(random.uniform(1,3)) antara permintaan untuk meniru pemasaan manusia. Untuk laman yang menjalankan Turnstile atau Datadome, kod ini akan gagal setiap kali — halaman cabaran akan mengembalikan 403 atau CAPTCHA tanpa mengira proksi. Dalam kes tersebut, anda memerlukan pelayar tanpa kepala dengan cap jari sebenar, bukan senarai IP berputar.
Sesi melekit — mengekalkan IP yang sama untuk satu set permintaan berkaitan — selalunya lebih berkesan daripada putaran setiap permintaan. Banyak laman e-dagang menjangkakan satu IP untuk sesi penyemakan imbas (contohnya, menambah item ke troli, membuat pembayaran). Memutarkan di tengah sesi mencetuskan bendera penipuan. Gunakan kumpulan proksi tetapi tetapkan satu IP setiap sesi, bukan setiap permintaan. Proksi percuma jarang menyokong sesi melekit kerana IP yang sama digunakan semula oleh pelbagai pengguna; anda akan melihat pencemaran silang data sesi. Proksi kediaman berbayar menawarkan tempoh sesi melekit (5–30 minit) yang selaras dengan tingkah laku penyemakan imbas semula jadi.
Pilih putaran hanya apabila anda memahami timbunan pengesanan sasaran. Uji dengan satu IP terlebih dahulu. Tambah putaran hanya jika anda mencapai had kadar. Dan jangan sekali-kali bergantung pada proksi percuma untuk pengeluaran — kadar kegagalan mereka akan menelan kos lebih banyak dalam masa kejuruteraan dan data yang hilang berbanding pelan kediaman yang murah.