In this Article
Selenium sendiri sangat baik untuk otomatisasi web, tetapi menggabungkannya dengan proxy menjaga privasi Anda, memastikan koneksi stabil, dan memungkinkan Anda menikmati konten tanpa gangguan. Secara sederhana, Selenium adalah alat open-source yang dikembangkan oleh Jason Huggins untuk mengotomatiskan atau menguji aplikasi web. Selenium mencakup modul seperti Selenium IDE, Grid, Standalone Server, dan WebDriver.
Dalam panduan ini, kami akan memandu Anda melalui langkah-langkah utama untuk menyiapkan Selenium dengan proxy di Python untuk tugas web scraping.
Memulai
Pertama-tama, pastikan Python dan pip (Python Package Manager) telah terinstal. Jika belum, unduh Python dari situs resmi, buka berkas .pkg yang Anda unduh, lalu ikuti petunjuknya. Mari lihat langkah-langkah dasarnya:
1. Buka Terminal atau Command Prompt Anda. Jika Anda menggunakan Mac, klik ikon Launchpad di Dock, ketik Terminal di kolom pencarian, lalu klik Terminal. Jika Anda menggunakan Windows, ketik cmd di jendela Run. Pintasan ini akan membuka terminal Command Prompt atau PowerShell.
2. Ketikkan di terminal Anda:
python --version
Jika versi Anda adalah Python 3, cukup tambahkan 3 setelah python. Hal ini mungkin juga berlaku untuk perintah lain:
python3 --version
pip biasanya terinstal secara otomatis bersama Python 3.4+. Namun, sebaiknya periksa apakah pip telah terinstal dengan mengetikkan:
pip --version
pip3 --version
3. Gunakan pip untuk menginstal paket Selenium:
pip install selenium
Jika Anda menggunakan Python 3, coba gunakan pip3 untuk memastikan paket tersebut terinstal untuk Python 3:
pip3 install selenium
4. Periksa apakah instalasi telah selesai.
Setelah instalasi, Anda dapat memverifikasi bahwa Selenium telah terinstal dengan menjalankan:
pip show selenium
Menggunakan WebDriver untuk Selenium
Selenium memerlukan web driver untuk berinteraksi dengan browser seperti Chrome, Firefox, dan lainnya. Anda perlu mengunduh driver yang sesuai dan memastikan driver tersebut tersedia di PATH sistem Anda. Kita akan menggunakan Chrome, browser andalan untuk sebagian besar proyek otomatisasi.
1. Buka halaman unduhan resmi ChromeDriver:
https://developer.chrome.com/docs/chromedriver/downloads
2. Temukan tautan yang sesuai dengan versi Chrome Anda dan unduh ChromeDriver untuk macOS.
Berkas yang Anda unduh akan berformat zip. Cukup klik dua kali untuk mengekstraknya, dan Anda akan mendapatkan berkas chromedriver yang dapat dieksekusi.
Agar mudah diakses, Anda sebaiknya memindahkan berkas chromedriver ke direktori yang termasuk dalam PATH sistem Anda. Direktori yang umum digunakan mencakup /usr/local/bin atau /usr/bin. Gunakan perintah ini:
sudo mv ~/Downloads/chromedriver /usr/local/bin/
***Jika Anda melihat error “Tidak ada berkas atau direktori seperti itu”, biasanya berarti path berkas dalam perintah Anda salah atau berkas tersebut tidak ada di lokasi yang ditentukan. Periksa kembali bahwa Anda berada di direktori tempat berkas chromedriver berada dan nama berkasnya tidak memiliki ekstensi atau salah ketik.
Saat Anda menggunakan perintah mv dengan sudo untuk memindahkan berkas ke direktori seperti /usr/local/bin, macOS akan meminta Anda memasukkan kata sandi. Ini adalah kata sandi akun pengguna Anda. Ketikkan kata sandi tersebut lalu tekan Enter. Perlu diingat bahwa kata sandi Anda tidak akan terlihat di layar saat diketik, tidak ada karakter atau simbol yang muncul.
Untuk memeriksa apakah ChromeDriver terinstal dengan benar, ketikkan perintah berikut di terminal:
chromedriver --version/
Membuat skrip Python dasar
Selanjutnya, unduh editor teks apa pun, dalam contoh ini VS Code, atau gunakan IDE untuk membuat berkas baru bernama selenium_test.py.
Untuk membuat skrip Python dasar, kita perlu menginstal modul webdriver-manager tersebut.
- Kita dapat menginstal paket menggunakan pip. Jalankan perintah berikut di terminal Anda:
pip install webdriver-manager/
pip install selenium webdriver-manager/
Setelah menjalankan perintah di atas, skrip Anda seharusnya berfungsi sebagaimana mestinya:
# pip install selenium webdriver-manager
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
# set Chrome options to run in headless mode
options = Options()
options.add_argument("--headless=new")
# initialize Chrome driver
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the HTML of the target webpage
print(driver.page_source)
# release the resources and close the browser
driver.quit()/
Anda akan melihat hasil ini:
Menyiapkan proxy gratis di Selenium
Pada bagian ini, Anda akan mempelajari cara menyiapkan proxy Selenium menggunakan Python dan mencoba proxy gratis. Kunjungi situs web https://free-proxy-list.net/ dan pilih proxy gratis untuk pengujian Anda. Dalam skrip, Anda harus menentukan alamat dan port proxy. Sebagai contoh, mari pilih proxy gratis ini:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# define the proxy address and port
proxy = "194.5.25.34:443"
# set Chrome options to run in headless mode using a proxy
options = Options()
options.add_argument("--headless=new")
options.add_argument(f"--proxy-server={proxy}")
# initialize Chrome driver
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the body content of the target webpage
print(driver.find_element(By.TAG_NAME, "body").text)
# release the resources and close the browser
driver.quit()/
Di terminal, Anda akan mendapatkan respons berikut:
{
“origin”: “194.5.25.34:443”
}
Artinya, Selenium membuka halaman menggunakan server proxy. Namun, berhati-hatilah karena proxy gratis dapat lambat dan menjual data Anda.
Selenium Wire
Selenium Wire adalah ekstensi Selenium yang andal dan memungkinkan Anda menyadap serta menganalisis lalu lintas jaringan. Dengan meninjau request dan respons HTTP, Anda dapat lebih memahami cara aplikasi web berinteraksi dengan servernya. Driver Chrome tidak memproses username dan kata sandi secara otomatis, sehingga Anda memerlukan plugin pihak ketiga seperti Selenium Wire.
Untuk menginstal Selenium Wire, jalankan perintah ini di terminal Anda:
pip install blinker==1.7.0 selenium-wire/
pip3 install blinker==1.7.0 selenium-wire/
Proxy DataImpulse di Selenium
Kini saatnya menggunakan proxy DataImpulse. Setelah semuanya terinstal, kita siap melanjutkan ke autentikasi proxy. Untuk langkah ini, Anda memerlukan login, kata sandi, alamat, dan port yang tersimpan di bagian paket pilihan Anda pada dashboard DataImpulse. Kita akan menggunakan residential proxy.
Mari beralih ke skrip:
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# configure the proxy
proxy_username = ""
proxy_password = ""
proxy_address = "gw.dataimpulse.com"
proxy_port = "823"
# formulate the proxy url with authentication
proxy_url = f"http://{proxy_username}:{proxy_password}@{proxy_address}:{proxy_port}"
# set selenium-wire options to use the proxy
seleniumwire_options = {
"proxy": {
"http": proxy_url,
"https": proxy_url
},
}
# set Chrome options to run in headless mode
options = Options()
options.add_argument("--headless=new")
# initialize the Chrome driver with service, selenium-wire options, and chrome options
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
seleniumwire_options=seleniumwire_options,
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the body content of the target webpage
print(driver.find_element(By.TAG_NAME, "body").text)
# release the resources and close the browser
driver.quit()/
Di VS Code, tampilannya akan seperti ini:
Hasilnya, Anda akan mendapatkan respons dengan ‘origin’ Anda. Ini berarti autentikasi telah berhasil diselesaikan.
Kiat
- Kunjungi hanya situs web resmi – Unduh semua program yang diperlukan dari situs resmi yang aman.
- Verifikasi kompatibilitas – Periksa kembali bahwa versi Selenium, ChromeDriver, dan browser Anda saling kompatibel.
- Lakukan pembaruan secara berkala – Periksa Selenium, ChromeDriver, dan alat lainnya secara berkala untuk memanfaatkan fitur terbaru.
- Kelola informasi login dengan aman – Lindungi dan kelola detail autentikasi Anda dengan aman.
- Gunakan virtual environment – Buat virtual environment agar dependensi tetap tertata dan konflik paket dapat dicegah.
- Penanganan error – Tambahkan mekanisme penanganan error ke skrip Anda untuk menangani masalah potensial saat menggunakan proxy atau bekerja dengan elemen web.
Kesimpulan
Jika Anda mempertimbangkan untuk menyiapkan Selenium, cobalah. Menggunakan proxy dengan Selenium seperti menambahkan gigi ekstra pada mesin, yang memberi Anda lebih banyak daya dan kendali. Ikuti petunjuk dan kiat kami agar semua paket berhasil diterapkan pada percobaan pertama. Ingatlah bahwa memilih proxy yang andal lebih baik daripada proxy gratis untuk mendapatkan kecepatan, keamanan, dan stabilitas yang lebih tinggi.









