Skip to content
intermediate

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.

SOCKS5 HTTP(S) Web Scraping

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

  1. 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.

  2. Instal pustaka Python yang diperlukan. Buka terminal Anda dan instal requests dan requests[socks] untuk dukungan SOCKS5:

    pip install requests requests[socks]
    
  3. 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())
    
  4. 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())
    
  5. 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}")
    
  6. 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.

  7. 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.