Geonode logo
Maricor Bunal

Maricor Bunal

Dikemas kini: 7 Oktober 2026

Diterbitkan: 12 September 2023

Cara Mengambil Data dari Web Menggunakan Selenium: Panduan

Web scraping bisa jadi rumit, tapi sebenarnya tidak harus begitu. Panduan ini akan memperkenalkan Anda pada Selenium, sebuah alat yang ampuh untuk mengotomatiskan peramban web. Tujuan kami adalah membantu Anda memahami Selenium, mulai dari pengaturan dasar hingga teknik lanjutan, sehingga Anda memiliki keterampilan yang dibutuhkan untuk mulai mengumpulkan data dengan lebih efektif.

Data merupakan aset yang berharga, dan kemampuan untuk mengumpulkannya dari web secara efisien semakin penting.

Web scraping bisa jadi rumit, tetapi tidak harus demikian.

Panduan ini memperkenalkan Anda pada Selenium, sebuah alat yang ampuh untuk mengotomatisasi peramban web.

Tujuan kami adalah membantu Anda memahami Selenium, mulai dari pengaturan dasar hingga teknik lanjutan, sehingga Anda memiliki keterampilan yang diperlukan untuk mulai mengumpulkan data secara lebih efektif.

Apa Itu Web Scraping?

Web scraping adalah praktik mengekstrak data dari situs web.

Ini merupakan metode yang efisien untuk mengumpulkan informasi dari web tanpa perlu proses manual.

Pentingnya web scraping terletak pada kemampuannya untuk mengotomatiskan metode pengumpulan data yang, jika dilakukan secara manual, akan membutuhkan waktu dan tenaga yang cukup besar.

Berbeda dengan pengguna sungguhan yang menjelajahi halaman web, web scraping mengotomatiskan proses ini, sehingga memungkinkan pengumpulan data yang lebih lancar dan efisien.

Dalam konteks situs web modern, yang sering kali memuat konten secara dinamis, scraping berbasis browser menjadi alat yang sangat berguna.

Selenium, misalnya, dapat meniru tindakan pengguna sungguhan, sehingga mengurangi kemungkinan situs web memblokir alamat IP Anda selama proses pengikisan.

Hal ini sangat berguna terutama saat Anda bekerja dengan bahasa pemrograman dan editor kode yang mendukung fungsi dasar Selenium.

Kasus Penggunaan Umum

Web scraping memiliki beragam aplikasi, masing-masing memenuhi kebutuhan yang berbeda. Berikut adalah beberapa kasus penggunaan umum:

Riset Pasar. Memahami tren pasar sangat penting bagi bisnis.

Web scraping dapat mengotomatiskan pengumpulan data terkait tren e-commerce, strategi penetapan harga, dan perilaku konsumen.

Jurnalisme Data. Jurnalis sering kali perlu mengumpulkan kumpulan data yang besar untuk liputan mereka.

Web scraping menyediakan metode yang efisien untuk mengumpulkan data ini dengan cepat.

Pemantauan Media Sosial. Merek menggunakan web scraping untuk memantau sebutan dan memahami opini publik.

Proses pengikisan data dapat diotomatisasi untuk memantau berbagai platform media sosial.

Papan Lowongan Kerja. Agen perekrutan menggunakan web scraping untuk mengumpulkan lowongan pekerjaan dari berbagai situs web dan menggabungkannya ke dalam satu basis data.

Penelitian Akademik. Para peneliti dapat mengumpulkan data dari situs web untuk melakukan studi atau mengumpulkan data statistik.

Dalam setiap kasus penggunaan ini, Selenium berfungsi sebagai alat yang sangat baik. Kemampuannya untuk menjalankan kode arbitrer dan meniru interaksi pengguna nyata menjadikannya ideal untuk mengumpulkan data dari situs web modern.

Apa itu Selenium?

Selenium adalah kerangka kerja sumber terbuka yang awalnya dikembangkan untuk mengotomatiskan pengujian aplikasi web.

Seiring berjalannya waktu, Selenium telah berkembang menjadi alat serbaguna untuk berbagai bentuk otomatisasi web, termasuk namun tidak terbatas pada web scraping.

Selenium memungkinkan pengguna untuk membuat skrip tindakan yang biasanya dilakukan oleh manusia di peramban web, seperti mengklik tombol, mengisi formulir, dan berpindah antar halaman, namun secara otomatis.

Yang membedakan Selenium adalah kemampuannya untuk mendukung berbagai browser, termasuk Chrome, Firefox, Safari, dan Internet Explorer, sehingga menjadikannya sangat adaptif.

Platform ini juga kompatibel dengan berbagai sistem operasi seperti Windows, macOS, dan Linux.

Fungsionalitas lintas peramban dan lintas platform ini menjadikannya pilihan utama bagi banyak pengembang dan penguji.

Selain itu, Selenium dapat diintegrasikan dengan alat seperti TestNG dan JUnit untuk konfigurasi pengujian dan pelaporan, yang merupakan fitur yang awalnya ditujukan untuk pengujian tetapi juga dapat bermanfaat untuk skenario web scraping.

Mengapa Memilih Selenium untuk Web Scraping?

Koleksi Pustaka. Selenium bukan sekadar alat untuk web scraping; ini adalah koleksi pustaka yang komprehensif yang terutama digunakan untuk pengujian otomatisasi.

Kerangka kerja yang kokoh ini menjadikan Selenium sebagai pilihan serbaguna untuk web scraping.

Elemen Dinamis. Salah satu keunggulan utama web scraping dengan Selenium adalah kemampuannya untuk berinteraksi dengan elemen dinamis pada halaman web.

Hal ini sangat penting saat melakukan web scraping dengan Selenium, terutama untuk situs web modern yang memuat konten secara dinamis.

Perilaku Pengguna Nyata. Keunggulan pendekatan berbasis browser seperti Selenium adalah kemampuannya meniru interaksi pengguna nyata.

Hal ini sangat berguna untuk menavigasi situs web yang dilengkapi dengan langkah-langkah anti-scraping yang ketat.

Potongan Kode. Sebuah potongan kode akan memungkinkan Selenium melakukan tindakan kompleks seperti mengklik tombol dan mengisi formulir.

Hal ini menjadikannya alat yang ampuh untuk mengotomatisasi berbagai tugas.

Integrasi dengan Alat Pengembang. Selenium terintegrasi dengan mulus ke dalam alat pengembang, sehingga memudahkan proses debugging dan pemeriksaan elemen saat Anda bekerja.

Alat Otomatisasi Browser. Selenium bekerja dengan baik bersama berbagai alat otomatisasi browser, sehingga meningkatkan kegunaannya dan menjadikannya pilihan yang sangat baik baik bagi pemula maupun ahli dalam web scraping.

Beragam Perintah Selenium. Beragam perintah Selenium yang tersedia memungkinkan berbagai macam tindakan, sehingga membuatnya dapat disesuaikan dengan berbagai kebutuhan web scraping.

Menyiapkan Lingkungan Kerja

Menginstal Selenium

Sebelum melakukan web scraping, sangat penting untuk menyiapkan lingkungan kerja Anda dengan benar.

Langkah pertama adalah menginstal Selenium, yang memungkinkan Anda mengotomatiskan tindakan browser.

Untuk Python:

Buka terminal Anda dan jalankan perintah berikut untuk menginstal paket Selenium:

Ini akan menginstal paket Selenium, sehingga Anda dapat menjalankan skrip Selenium di Python.

Untuk Java:

Unduh Selenium Java bindings dari situs web resmi. Tambahkan berkas JAR ke proyek Java Anda. Untuk Bahasa Pemrograman Populer Lainnya:

Selenium mendukung berbagai bahasa pemrograman populer seperti Ruby, C#, dan JavaScript. Anda dapat menemukan pustaka masing-masing di situs web resmi Selenium.

Menyiapkan ChromeDriver

Setelah menginstal Selenium, langkah selanjutnya adalah menyiapkan driver browser.

Driver ini memungkinkan Selenium berinteraksi dengan peramban web.

ChromeDriver adalah salah satu driver peramban yang paling umum digunakan untuk tujuan ini.

Unduh ChromeDriver. Kunjungi halaman unduhan ChromeDriver dan unduh versi yang sesuai dengan peramban Chrome Anda.

Tambahkan ke PATH. Ekstrak file yang telah diunduh dan tambahkan lokasinya ke variabel PATH sistem Anda.

Hal ini memungkinkan Selenium menemukan driver saat menjalankan skrip Selenium Anda.

Uji Pengaturan. Untuk memastikan semuanya telah dikonfigurasi dengan benar, Anda dapat menjalankan skrip Selenium sederhana untuk membuka browser headless dan membuka situs web.

Jika skrip ini berjalan tanpa kesalahan, berarti pengaturan ChromeDriver Anda berhasil.

Dengan mengikuti langkah-langkah ini, Anda akan memiliki lingkungan yang berfungsi untuk menjalankan skrip Selenium. Kini Anda dapat mengotomatiskan berbagai tindakan browser, mulai dari navigasi sederhana hingga tugas-tugas kompleks, menggunakan pustaka dan bahasa pemrograman populer.

Proyek Web Scraping Pertama Anda dengan Selenium

Panduan Langkah demi Langkah

Persiapan Lingkungan. Jika Anda belum melakukannya, pastikan Anda telah menginstal Selenium dan menyiapkan ChromeDriver seperti yang dibahas pada bagian sebelumnya.

Buat Berkas Python Baru. Buka editor kode Anda dan buat berkas Python baru. Beri nama berkas tersebut, misalnya first_selenium_project.py.

Impor Selenium. Di bagian atas berkas Python Anda, impor paket Selenium WebDriver.

Inisialisasi WebDriver. Buat instance baru dari Chrome WebDriver.

Buka Situs Web. Gunakan metode get untuk membuka situs web yang ingin Anda scrape.

Lakukan Tindakan. Lakukan tindakan apa pun seperti mengklik tombol atau mengisi formulir. Misalnya, untuk mengklik tombol dengan ID "submit".

Ekstrak Data. Temukan elemen yang berisi data yang ingin Anda ambil dan ekstrak data tersebut. Misalnya, untuk mengambil teks dari elemen dengan ID "data".

Tutup Browser. Setelah Anda mengumpulkan data, jangan lupa untuk menutup browser.

Simpan dan Jalankan. Simpan berkas Python Anda dan jalankan untuk mengeksekusi proyek pengikisan web Selenium pertama Anda.

Contoh Kode

Berikut adalah contoh lengkap yang menggabungkan semua langkah di atas ke dalam satu skrip Selenium.

Ini adalah salah satu contoh Selenium paling sederhana untuk membantu Anda memulai web scraping. Seiring Anda semakin terbiasa, Anda dapat mulai memasukkan tindakan dan teknik ekstraksi data yang lebih kompleks.

Teknik Lanjutan

Seiring Anda semakin terbiasa dengan dasar-dasarnya, Anda mungkin akan menemui situs web yang menghadirkan tantangan tambahan, seperti konten yang dimuat melalui AJAX dan CAPTCHA.

Menangani Permintaan AJAX

AJAX (Asynchronous JavaScript and XML) umumnya digunakan di situs web modern untuk memuat konten secara dinamis.

Metode pengikisan tradisional mungkin tidak berfungsi dengan baik pada konten yang dimuat melalui AJAX.

Berikut cara mengatasinya dengan Selenium:

Penundaan Eksplisit: Gunakan WebDriverWait dari Selenium untuk menjeda skrip hingga elemen AJAX dimuat.

Eksekusi JavaScript: Jalankan kode JavaScript untuk memicu panggilan AJAX secara manual.

Melewati CAPTCHA

CAPTCHA dirancang untuk mencegah akses otomatis ke situs web, yang menjadi tantangan bagi pengikisan web.

Meskipun penting untuk mematuhi ketentuan layanan situs web, berikut adalah beberapa teknik untuk melewati CAPTCHA untuk tujuan pendidikan:

Layanan Pihak Ketiga: Ada layanan seperti 2Captcha yang dapat memecahkan CAPTCHA untuk Anda. Anda dapat mengintegrasikan API mereka ke dalam skrip Selenium Anda.

Simulasi Pengguna: Tiru perilaku seperti manusia dengan menambahkan penundaan atau gerakan mouse agar pengikisan data tidak mudah terdeteksi.

Praktik Terbaik dan Tips

Saat Anda mulai menjelajahi dunia web scraping, sangat penting untuk mengikuti praktik terbaik guna memastikan bahwa aktivitas Anda tidak hanya efisien tetapi juga menghormati situs web yang Anda ambil datanya.

Bagian ini akan menguraikan beberapa hal yang boleh dan tidak boleh dilakukan saat menggunakan Selenium untuk web scraping.

Hal yang Harus Dilakukan:

Pembatasan Kecepatan (Rate Limiting). Selalu terapkan pembatasan kecepatan untuk menghindari kelebihan beban pada server. Penundaan beberapa detik di antara permintaan umumnya merupakan praktik yang baik.

String User-Agent. Gunakan string user-agent yang sah untuk mengidentifikasi scraper Anda. Hal ini lebih menghormati dan transparan.

Penanganan Kesalahan. Terapkan penanganan kesalahan yang andal untuk mengatasi masalah seperti timeout atau elemen yang hilang.

Hal yang Harus Dihindari:

Mengikis Terlalu Banyak Data. Perhatikan jumlah data yang Anda ikis. Pengikisan yang berlebihan dapat membebani server.

Mengabaikan Berkas Robots.txt. Selalu periksa dan patuhi berkas robots.txt situs web, yang memuat pedoman untuk pengikisan web.

Melewati CAPTCHA. Meskipun ada cara untuk melewati CAPTCHA, melakukannya tanpa izin umumnya dianggap tidak etis.

Dengan mematuhi praktik terbaik dan tips ini, Anda dapat memastikan bahwa aktivitas pengikisan web menggunakan Selenium Anda efektif dan etis.

Pertanyaan Umum dan Solusi

Q: Mengapa skrip Selenium saya tidak dapat menemukan elemen web?

Solusi: Pastikan Anda menggunakan metode yang tepat untuk menemukan elemen tersebut (misalnya, find_element_by_id, find_element_by_class_name). Selain itu, pertimbangkan untuk menggunakan penundaan eksplisit (explicit waits) guna memastikan elemen tersebut telah dimuat.

Q: Bagaimana cara menangani jendela pop-up atau peringatan?

Solusi: Gunakan antarmuka Alert Selenium untuk berinteraksi dengan peringatan JavaScript atau jendela pop-up.

Q: Mengapa skrip saya berjalan terlalu cepat dan tidak menangkap data?

Solusi: Terapkan pembatasan kecepatan (rate limiting) atau penundaan eksplisit agar halaman web memiliki waktu yang cukup untuk memuat data.

Q: Bagaimana cara menjalankan Selenium dalam mode headless?

Solusi: Gunakan opsi --headless saat menginisialisasi WebDriver Anda untuk menjalankan Selenium tanpa membuka jendela browser.

Q: Bagaimana cara mengambil tangkapan layar untuk debugging?

Solusi: Gunakan metode save_screenshot Selenium untuk menangkap keadaan halaman web saat ini.

Pertanyaan Lainnya

Apakah web scraping legal?

Web scraping berada di zona abu-abu secara hukum, dan legalitasnya dapat bervariasi tergantung pada berbagai faktor seperti ketentuan layanan situs web, data yang diambil, dan frekuensi pengambilan data.

Selalu periksa ketentuan layanan situs web dan pertimbangkan untuk meminta nasihat hukum sebelum melakukan aktivitas web scraping apa pun.

Bagaimana cara menghindari pemblokiran saat melakukan web scraping?

Diblokir adalah kekhawatiran umum saat melakukan web scraping. Berikut beberapa tips untuk meminimalkan risikonya:

Pembatasan Kecepatan (Rate Limiting). Terapkan jeda antar permintaan untuk menghindari membebani server. Rotasi User-Agent. Gunakan string user-agent yang berbeda agar scraper Anda lebih sulit terdeteksi. Rotasi IP. Gunakan beberapa alamat IP untuk mendistribusikan permintaan. Patuhi Robots.txt. Selalu periksa dan patuhi pedoman robots.txt situs web tersebut.

Apakah Selenium dapat menangani situs web dinamis?

Ya, Selenium sangat cocok untuk melakukan web scraping pada situs web dinamis.

Tidak seperti banyak alat pengikis data lainnya yang hanya dapat mengambil konten HTML statis, Selenium dapat berinteraksi dengan JavaScript, sehingga memungkinkan untuk mengikis situs web yang memuat konten secara dinamis.

Anda dapat menggunakan penundaan eksplisit atau menjalankan JavaScript secara manual untuk memastikan bahwa konten dinamis telah dimuat sepenuhnya sebelum pengikisan dilakukan.

Penutup

Web scraping membuka berbagai kemungkinan berbasis data, dan Selenium berperan sebagai alat yang ampuh untuk menjelajahi bidang ini.

Mulai dari mengotomatiskan tugas-tugas peramban hingga mengekstrak data dari situs web yang kompleks dan dinamis, Selenium menawarkan fleksibilitas dan kendali yang sangat diinginkan oleh setiap penggemar data.

Saat Anda memulai petualangan web scraping, ingatlah untuk selalu melakukan penggalian data secara bertanggung jawab, dengan mematuhi pedoman hukum dan praktik etis.

Sumber Daya Tambahan

Jika Anda ingin memperdalam pemahaman atau menghadapi tantangan, berikut beberapa sumber daya yang dapat membantu:

Dokumentasi Resmi Selenium - Tempat terbaik untuk memulai jika Anda ingin memahami seluk-beluknya.

Komunitas Pengikisan Web - Situs web seperti Stack Overflow dan Reddit memiliki komunitas aktif tempat Anda dapat mengajukan pertanyaan dan berbagi pengetahuan.

Kursus Online - Situs web seperti Udemy dan Coursera menawarkan kursus tentang web scraping dengan Selenium, mulai dari tingkat pemula hingga tingkat lanjutan.

Repositori GitHub - Banyak pengembang membagikan proyek web scraping mereka di GitHub, yang dapat menjadi sumber inspirasi dan pembelajaran yang sangat baik.