NEW! |Satu panggilan API menghasilkan data bersih. Tanpa perlu scraper.Dapatkan 10.000 token gratis →

Selenium Python (6). Cara Melewati Deteksi Parser dengan Selenium Stealth

Dalam dunia web scraping, otomatisasi sering kali terhambat oleh mekanisme anti-bot yang mendeteksi dan memblokir akses otomatis ke data. Namun, dengan

Diterbitkan6 Juni 2024
Waktu baca3 mnt

Dalam bidang web scraping, otomatisasi sering kali dapat digagalkan oleh mekanisme anti-bot yang mendeteksi dan memblokir akses otomatis ke data. Namun, dengan alat dan teknik yang tepat, deteksi ini dapat dilewati dan berhasil mengikis data yang Anda perlukan. Dalam artikel ini, kita akan mempelajari cara menggunakan Selenium Stealth agar upaya pengikisan Anda lebih bijaksana dan efektif.

Pengenalan Selenium dan Tantangannya#

Selenium adalah alat populer untuk mengotomatisasi browser web, memungkinkan pengguna menavigasi situs web secara terprogram dan berinteraksi dengan elemen mereka. Namun, banyak situs web yang menerapkan langkah-langkah untuk mendeteksi dan memblokir penjelajahan otomatis, mengenali pola khusus Selenium. Hal ini dapat mengakibatkan akses diblokir atau data yang dikembalikan salah.

Poin Utama:

  • Deteksi Otomasi: Situs web dapat mendeteksi Selenium dan memblokir akses.
  • Masalah Umum: Mengembalikan data yang tidak benar atau memblokir pengguna.

Apa itu Selenium Stealth?#

Selenium Stealth adalah library yang dirancang untuk membuat automated browsing lebih sulit dideteksi dengan meniru perilaku browsing yang seperti manusia. Library ini memodifikasi Selenium WebDriver agar terlihat seperti browser pengguna biasa, sehingga dapat melewati banyak tindakan anti-bot.

Fitur Selenium Stealth:

  • Meniru perilaku browsing yang seperti manusia.
  • Melewati mekanisme deteksi Selenium yang umum.

Menyiapkan Selenium Stealth#

Untuk mulai menggunakan Selenium Stealth, Anda perlu menginstal perpustakaan Selenium dan Selenium Stealth. Berikut adalah langkah-langkah untuk menyiapkan dan mengintegrasikan Selenium Stealth dengan skrip Selenium Anda.

Langkah-langkah Instalasi:

Instal Selenium:

pip install selenium

Instal Selenium Stealth:

pip install selenium-stealth

Contoh: Web Scraping dengan Selenium Stealth#

Berikut adalah contoh langkah demi langkah tentang cara menyiapkan dan menggunakan Selenium Stealth untuk melakukan scraping data dari website sambil melewati deteksi.

Langkah 1: Impor Library

from selenium import webdriver
from selenium_stealth import stealth

Langkah 2: Siapkan WebDriver dengan Stealth

options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)

stealth(driver,
        languages=["en-US", "en"],
        vendor="Google Inc.",
        platform="Win32",
        webgl_vendor="Intel Inc.",
        renderer="Intel Iris OpenGL Engine",
        fix_hairline=True)

driver.get('https://example.com')

Langkah 3: Lakukan Tugas Scraping Anda

# Example: Finding elements and extracting data
element = driver.find_element_by_class_name('example-class')
data = element.text
print(data)

Menyisipkan Tabel untuk Kejelasan#

Untuk pemahaman yang lebih baik, berikut adalah tabel yang merangkum langkah-langkah dan tujuannya:

LangkahDeskripsi
1Impor library Selenium dan Selenium Stealth.
2Siapkan WebDriver dan terapkan modifikasi stealth.
3Lakukan tugas web scraping tanpa terdeteksi.

Teknik Lanjutan dengan Selenium Stealth#

Untuk meningkatkan lebih lanjut upaya scraping Anda, pertimbangkan untuk menerapkan teknik-teknik lanjutan berikut:

Menangani Konten Dinamis:

  • Gunakan WebDriverWait untuk menangani elemen yang dimuat secara dinamis.
  • Contoh:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "dynamicElement"))
)

Proxy Rotasi:

  • Rotasi proxy untuk menghindari pemblokiran IP.
  • Contoh:
options.add_argument('--proxy-server=http://your.proxy.server:port')

Kesalahan Umum dan Pemecahan Masalah#

Bahkan dengan Selenium Stealth, Anda mungkin mengalami beberapa masalah. Berikut adalah beberapa kesalahan umum dan cara mengatasinya:

  • DriverNotFoundError: Pastikan WebDriver yang benar telah diinstal dan jalurnya telah diatur dengan benar.
  • TimeoutException: Gunakan WebDriverWait untuk menangani elemen dinamis dengan tepat.

Kesimpulan#

Dengan mengintegrasikan Selenium Stealth ke dalam skrip Selenium Anda, Anda dapat secara signifikan mengurangi kemungkinan terdeteksi dan berhasil mengumpulkan data dari situs web yang menerapkan tindakan anti-bot. Pendekatan ini membantu dalam mempertahankan akses dan mengambil data yang akurat, membuat upaya web scraping Anda lebih efisien dan dapat diandalkan.

Ingat, selalu pastikan bahwa aktivitas scraping Anda mematuhi syarat layanan dan pedoman hukum situs web.