Skip to content
Beginner / 5 min read

Cara Menggunakan Proxy dari ProxyScrape dengan Selenium di Linux untuk Web Scraping (Panduan Pemula)

Panduan langkah demi langkah yang ramah pemula untuk mengonfigurasi proxy residensial, datacenter, atau mobile ProxyScrape di Selenium pada Linux. Mencakup pengaturan HTTP dan SOCKS5, solusi autentikasi, dan rotasi dasar untuk web scraping.

Linux SOCKS5 HTTP(S) Web Scraping

Ikhtisar

Jika Anda pernah mencari "proxy scape," "proxyscaper," atau "proxyscape," kemungkinan Anda sedang mencari ProxyScrape. Panduan ini menggunakan ejaan yang benar. ProxyScrape menyediakan proxy residensial, datacenter, dan mobile dengan dukungan HTTP dan SOCKS5, kumpulan 97 juta+ IP, serta penagihan bayar sesuai pemakaian dan bulanan tetap.

Dalam tutorial pemula ini, Anda akan menyiapkan proxy ProxyScrape di Selenium pada Linux untuk mengambil halaman web. Kami akan membahas HTTP dan SOCKS5, autentikasi, dan rotasi dasar. Pada akhirnya, Anda akan memiliki skrip Selenium yang berfungsi yang mengarahkan lalu lintas melalui proxy ProxyScrape.

Prasyarat

  • Akun ProxyScrape (uji coba gratis atau paket berbayar).
  • Sistem Linux (diuji pada Ubuntu/Debian).
  • Python 3.6 atau lebih tinggi.
  • Manajer paket pip.
  • Google Chrome atau Firefox terinstal.
  • Keakraban dasar dengan terminal.

Langkah-langkah

  1. Dapatkan kredensial proxy ProxyScrape Anda.

    Masuk ke dasbor ProxyScrape Anda dan navigasikan ke jenis proxy yang ingin Anda gunakan (residensial, datacenter, atau mobile). Catat hal berikut:

    • Endpoint: host:port
    • Nama pengguna dan kata sandi (jika autentikasi diaktifkan)

    Untuk web scraping, proxy residensial seringkali paling andal untuk menghindari blokir, sedangkan proxy datacenter lebih cepat dan lebih murah.

  2. Instal Selenium dan WebDriver di Linux.

    Instal paket Python Selenium:

    pip install selenium
    

    Instal ChromeDriver (untuk Chrome/Chromium):

    sudo apt update
    sudo apt install chromium-chromedriver
    

    Atau instal GeckoDriver (untuk Firefox):

    sudo apt install firefox-geckodriver
    

    Pastikan driver ada di PATH Anda. Anda dapat memeriksa dengan which chromedriver.

  3. Tulis skrip Selenium dasar dengan proxy HTTP ProxyScrape.

    Buat file bernama selenium_proxy.py dan tambahkan kode berikut. Ganti placeholder dengan kredensial ProxyScrape Anda.

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    PROXY = "http://username:password@host:port"  # e.g., http://user123:[email protected]:8080
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    

    Jalankan skrip:

    python selenium_proxy.py
    

    Anda akan melihat respons JSON yang berisi alamat IP yang berbeda dari milik Anda. Jika menunjukkan IP asli Anda, proxy tidak berfungsi dengan benar.

  4. Tangani autentikasi proxy untuk proxy HTTP.

    Flag --proxy-server Chrome tidak mendukung nama pengguna/kata sandi inline untuk proxy HTTP. Solusi termudah bagi pemula adalah memasukkan IP Anda ke daftar putih di dasbor ProxyScrape. Buka pengaturan proxy Anda dan tambahkan IP publik Anda saat ini ke daftar putih, lalu hapus nama pengguna/kata sandi dari URL proxy.

    Alternatifnya, gunakan pustaka selenium-wire yang mendukung proxy terautentikasi:

    pip install selenium-wire
    
    from seleniumwire import webdriver
    
    options = {
        'proxy': {
            'http': 'http://username:password@host:port',
            'https': 'https://username:password@host:port',
        }
    }
    driver = webdriver.Chrome(seleniumwire_options=options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    
  5. Gunakan proxy SOCKS5 dengan Selenium.

    ProxyScrape juga mendukung SOCKS5. Chrome dapat menggunakan SOCKS5 dengan autentikasi inline:

    PROXY = "socks5://username:password@host:port"
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    

    Perhatikan bahwa Firefox mungkin memerlukan konfigurasi tambahan untuk autentikasi SOCKS5.

  6. Tambahkan rotasi proxy dasar.

    Untuk rotasi sederhana, pertahankan daftar proxy dan pilih satu secara acak untuk setiap sesi browser. Proxy residensial ProxyScrape sering menyediakan endpoint berputar, tetapi Anda juga dapat memutar secara manual.

    import random
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    proxies = [
        "http://user:pass@host1:port",
        "http://user:pass@host2:port",
        # Add more proxies from your ProxyScrape list
    ]
    
    proxy = random.choice(proxies)
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={proxy}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    

    Untuk scraping produksi, pertimbangkan menggunakan layanan rotasi proxy atau pustaka seperti selenium-wire dengan middleware kustom.

  7. Uji skrip scraping Anda.

    Tulis scraper sederhana untuk mengambil halaman dan mengekstrak judul:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    
    PROXY = "http://username:password@host:port"
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://example.com")
    print(driver.title)
    driver.quit()
    

    Jika Anda melihat judul halaman, proxy Anda berfungsi.

Pemecahan Masalah

  • chromedriver tidak ditemukan: Pastikan driver terinstal dan ada di PATH Anda. Gunakan export PATH=$PATH:/path/to/driver jika perlu.
  • Koneksi proxy ditolak: Verifikasi kredensial, endpoint, dan daftar putih IP Anda. Periksa bahwa paket ProxyScrape Anda aktif.
  • Popup autentikasi di Chrome: Gunakan daftar putih IP atau selenium-wire untuk menghindari popup.
  • Kecepatan lambat: Coba proxy datacenter untuk respons lebih cepat, atau kurangi jumlah sesi bersamaan.
  • Kesalahan sertifikat SSL: Tambahkan --ignore-certificate-errors ke opsi Chrome untuk pengujian (tidak disarankan untuk produksi).

Ringkasan

Anda telah mempelajari cara menggunakan proxy ProxyScrape dengan Selenium di Linux untuk web scraping. Kami membahas cara mendapatkan kredensial, menginstal Selenium, mengatur proxy HTTP dan SOCKS5, menangani autentikasi, dan rotasi dasar. Ingatlah untuk menghormati ketentuan layanan situs web dan robots.txt. Untuk pengaturan yang lebih canggih, jelajahi endpoint berputar dan fitur kontrol sesi ProxyScrape.