
Selenium merupakan alat yang sangat berguna ketika kita akan melakukan membuat bot yang secara alami dikenali oleh server/host target. Sebenarnya ada banyak cara kita melakukan scraping seperti menggunakan library request, mechanize, namun alat tersebut seringkali dikenali sebagai bot walaupun sudah mengubah user agent nya.
Rotasi IP Address dengan Selenium merupakan cara termudah dan sekaligus aman untuk dilakukan, saya sangat sarankan untuk menggunakan webdriver geckodriver daripada chrome, Kalian bisa install dan mengikuti langakah-langkah install selenium Cara Install Selenium dan GeckoDriver di Mac OS M1 serta Setting Proxy
OS yang digunakan
Contents
Untuk saat ini, saya lebih suka menggunakan ubuntu dengan versi sebagai berikut. Bisa kalian pilih OS Ubuntu LTS. OS Ubuntu setelah saya bandingkan dengan OS windows ternyata lebih baik dan efisien untuk menjalakan beragam aplikasi serta ketahanan baterai laptop lebih lama mengingat tidak banyak menjalankan beragam service.
yyyyy- -yyyyyy+ OS: Ubuntu 23.10 mantic ://+//////-yyyyyyo Kernel: x86_64 Linux 6.5.0-15-generic .++ .:/++++++/-.+sss/` Uptime: 14h 26m .:++o: /++++++++/:--:/- Packages: 2469 o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.15 .:+o:+o/. `+sssoo+/ Resolution: 1920x1080 .++/+:+oo+o:` /sssooo. WM: Mutter /+++//+:`oo+o /::--:. WM Theme: Adwaita \+/+o+++`o++o ++////. GTK Theme: Yaru [GTK3] .++.o+++oo+:` /dddhhh. Disk: 135G / 231G (60%) .+.o+oo:. `oddhhhh+ CPU: AMD Ryzen 3 3250U with Radeon Graphics @ 4x 2.6GHz \+.++o+o``-````.:ohdhhhhh+ GPU: AMD/ATI Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] `:o+++ `ohhhhhhhhyo++os: RAM: 6916MiB / 9811MiB .o:`.syhhhhhhh/.oo++o` /osyyyyyyo++ooo+++/ ````` +oo+++o\: `oo++.
Gecko Driver
Adapun untuku geckodriver yaitu dengan lokasi path di /snap/bin/geckodriver
, saya telah menggunakan chrome akan tetapi kurang OK
geckodriver 0.33.0 ( 2024-02-05)
Webdriver selenium
Serta menggunakan webdriver selenium terbaru yaitu. Untuk hal ini kalian wajib mengerti karena diluarans sana masih banyak tutorial yang menggunakan versi 3 padahal beberapa function sangat berbeda
webdriver.__version__ '4.11.2'
Scraping dengan Rotasi IP Proxy di selenium
Rotasi IP Proxy dengan Selenium selain itu bisa menggunakan jaringan TOR lho. Kita akan import kebutuhan library yaitu
import random import time import os from selenium import webdriver from datetime import date from selenium.webdriver.common.by import By from selenium.webdriver.common.proxy import Proxy,ProxyType from selenium.webdriver.firefox.options import Options from selenium.webdriver.firefox.service import Service
Selanjutnya kita akan membuat function untuk mengubah proxy dan mengecek lokasi IP nya
def login(ip,port): options = Options() options.set_preference("network.proxy.type", 1) options.set_preference("network.proxy.http",ip) options.set_preference("network.proxy.http_port",int(port)) service = Service(executable_path='/snap/bin/geckodriver') url_master = "http://checkip.amazonaws.com" driver = webdriver.Firefox(options = options, service=service) driver.get(url_master) return driver
misalkan kita akan menggunakan proxy dan port berikut
driver = login("91.65.102.60","80")
Untuk merayapi isi website, kalian bisa menggunakan
from bs4 import BeautifulSoup
source = driver.page_source soup = BeautifulSoup(source) #silahkan untuk extract data sesuai keinginan
Rotasi IP Proxy dengan Selenium
Tentu untuk mendapatkan IP Proxy yang berkualitas kita membutuhkan layanan premium, tapi kalian bisa kok mendapatkan yang gratisan yaitu Rotasi IP Address dengan Free Proxy List, silahkan untuk dipelajari.
Setelah mendapatkan IP Proxy, kalian bisa cek kualitasnya menggunakan script yang ada di Rotasi IP Address dengan Proxy dan Jaringan TOR