Cara Menggunakan Proxy Residensial ProxyScrape untuk Web Scraping di Python
Panduan langkah demi langkah untuk mengintegrasikan proxy residensial dan datacenter ProxyScrape ke dalam skrip web scraping Python Anda menggunakan protokol HTTP dan SOCKS5.
Ikhtisar
ProxyScrape menyediakan proxy residensial, datacenter, dan mobile dengan dukungan HTTP dan SOCKS5, didukung oleh kumpulan 97 juta+ IP. Tutorial ini menunjukkan cara menggunakan proxy ProxyScrape di Python untuk tugas web scraping. Anda akan belajar mengonfigurasi permintaan dengan HTTP dan SOCKS5, menangani autentikasi, dan merotasi proxy. Langkah-langkahnya berlaku untuk penyedia proxy mana pun, tetapi kami menggunakan ProxyScrape sebagai contoh karena uptime yang andal dan stabilitas jangka panjang.
Langkah-langkah
-
Dapatkan kredensial proxy dari ProxyScrape. Masuk ke dasbor ProxyScrape Anda dan navigasikan ke daftar proxy atau bagian API. Anda akan menemukan endpoint proxy (IP:port), nama pengguna, dan kata sandi. ProxyScrape menawarkan paket bayar sesuai pemakaian dan tagihan bulanan tetap, jadi pilih yang sesuai dengan volume scraping Anda.
-
Instal pustaka Python yang diperlukan. Buka terminal Anda dan instal
requestsdanrequests[socks]untuk dukungan SOCKS5:pip install requests requests[socks] -
Tulis skrip scraping dasar menggunakan proxy HTTP. Buat file Python dan gunakan kode berikut untuk mengirim permintaan melalui proxy HTTP ProxyScrape. Ganti placeholder dengan kredensial Anda yang sebenarnya.
import requests proxy_url = "http://username:password@proxy-endpoint:port" proxies = { "http": proxy_url, "https": proxy_url, } response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) -
Gunakan proxy SOCKS5 untuk anonimitas yang lebih baik. ProxyScrape mendukung SOCKS5. Ubah skema URL proxy menjadi
socks5://:import requests proxy_url = "socks5://username:password@proxy-endpoint:port" proxies = { "http": proxy_url, "https": proxy_url, } response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) -
Rotasi proxy untuk menghindari batas laju. Jika paket ProxyScrape Anda menyediakan endpoint yang berotasi, gunakan endpoint tersebut untuk setiap permintaan. Jika tidak, pertahankan daftar endpoint proxy dari dasbor Anda dan gilir mereka. Contoh:
import requests import random proxy_list = [ "http://user:pass@proxy1:port", "http://user:pass@proxy2:port", # ... add more ] def get_random_proxy(): return random.choice(proxy_list) for _ in range(10): proxy_url = get_random_proxy() proxies = {"http": proxy_url, "https": proxy_url} try: response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) except Exception as e: print(f"Proxy failed: {e}") -
Tangani kesalahan dan coba ulang. Koneksi proxy bisa gagal. Bungkus permintaan Anda dalam blok try/except dan terapkan mekanisme coba ulang dengan proxy baru saat gagal. Ini memastikan scraper Anda tetap tangguh.
-
Uji dan skala. Jalankan skrip Anda dan verifikasi bahwa IP berubah pada setiap permintaan. Untuk scraping skala besar, pertimbangkan menggunakan objek sesi dan menyesuaikan konkurensi berdasarkan batas paket ProxyScrape Anda.
Catatan: Selalu hormati ketentuan layanan situs web dan robots.txt. Proxy residensial dan datacenter ProxyScrape dapat diandalkan, tetapi praktik scraping yang etis adalah tanggung jawab Anda.