# Selenium Python (4). Cara Menggunakan Selenium dengan Python dan Proksi

Temui kuasa Selenium dengan Python dan manfaatkan proksi untuk pengikisan web dan automasi yang cekap. Tingkatkan pengumpulan data anda dengan pelayan proksi yang mampu milik FineProxy.

- Pengarang: [Brandon Perry](https://fineproxy.org/ms/brandon-perry/)
- Diterbitkan: 2024-06-04T11:17:19.000Z
- Dikemas kini: 2024-05-27T11:43:12.000Z
- URL kanonik: https://fineproxy.org/ms/selenium-python-4-how-to-use-selenium-with-python-and-proxies/

Apabila bekerja dengan web scraping atau automasi menggunakan Selenium dan Python, menggunakan proxy boleh menjadi penting untuk mengelakkan larangan IP dan meningkatkan kecekapan pengumpulan data anda. Artikel ini akan membimbing anda melalui proses menyediakan dan menggunakan proxy dalam Selenium dengan Python.

## Apakah Selenium dan Mengapa Menggunakan Proksi?

**Selenium** adalah alat yang kuat untuk mengotomatiskan browser web, sering digunakan untuk web scraping dan pengujian aplikasi web. **Proksi** adalah server perantara yang memisahkan pengguna akhir dari situs web yang mereka jelajahi, membantu menyembunyikan alamat IP dan mengelola beban permintaan.

## Menyediakan Selenium dengan Proksi

Sebelum menyelam ke dalam kod, pastikan anda memasang alat yang diperlukan:

-   Python
-   Selenium (`pip install selenium`)
-   Driver browser web (misalnya, ChromeDriver untuk Chrome atau GeckoDriver untuk Firefox)

## Panduan Langkah demi Langkah untuk Menggunakan Proksi di Selenium

### 1\. Menyiapkan Chrome dengan Proksi

Untuk mengkonfigurasi Chrome menggunakan pelayan proksi, anda perlu menyediakan keupayaan yang diingini dalam Selenium.

```python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Specify proxy details
proxy = "your_proxy_ip:port"

# Set up Chrome options
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')

# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()
```

## Proksi dengan Pengesahan

Jika proksi anda memerlukan pengesahan, anda boleh menggunakan `Proxy` kelas dari `selenium.webdriver.common.proxy`.

```python
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Proxy settings
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = "your_proxy_ip:port"
proxy.ssl_proxy = "your_proxy_ip:port"
proxy.add_argument('--proxy-auth=user:password')

capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)

# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), desired_capabilities=capabilities)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()
```

## Menggunakan Firefox dengan Proksi

Untuk mengkonfigurasi Firefox untuk menggunakan proxy, ubah tetapan profil Firefox.

```python
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager

# Proxy details
proxy_ip = "your_proxy_ip"
proxy_port = "port"

# Set up Firefox profile
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", proxy_ip)
profile.set_preference("network.proxy.http_port", int(proxy_port))
profile.set_preference("network.proxy.ssl", proxy_ip)
profile.set_preference("network.proxy.ssl_port", int(proxy_port))

# Initialize WebDriver
driver = webdriver.Firefox(service=Service(GeckoDriverManager().install()), firefox_profile=profile)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()
```

## Menyelesaikan Masalah Isu Biasa

**Pengesahan Proxy:** Jika proxy anda memerlukan log masuk, pastikan kredensial ditetapkan dengan betul.

**Penyekatan IP:** Sesetengah laman web mungkin masih menyekat proxy. Gunakan proxy kediaman atau proxy berputar untuk mengurangkan isu ini.

## Ringkasan

Menggunakan proxy dengan Selenium dan Python boleh membantu anda memintasi sekatan IP dan meningkatkan projek web scraping anda. Sama ada menggunakan Chrome atau Firefox, menyediakan proxy melibatkan mengkonfigurasi pilihan browser dan keupayaan untuk merutekan lalu lintas melalui pelayan proxy.

| Pelayar | Kaedah Persediaan | Pengesahan | Petikan Kod Tersedia |
| --- | --- | --- | --- |
| Chrome | ChromeOptions | Ya | Ya |
| Firefox | FirefoxProfile | Ya | Ya |

Dengan mengikuti langkah-langkah ini, anda boleh memastikan aktiviti scraping anda tetap tanpa gangguan dan cekap. Jika anda mempunyai sebarang soalan atau idea untuk tutorial masa hadapan, jangan ragu untuk meninggalkan ulasan!
