logo proxyscrape gelap

Bagaimana Cara Melewati CAPTCHA Saat Scraping Web? - 5 Langkah Sederhana

Bagaimana caranya, Mengikis, Jan-03-20235 menit baca

Ketika Anda mengikis data dari situs web berskala besar, kecil kemungkinannya Anda tidak perlu menghadapi CAPTCHA untuk membuktikan bahwa Anda adalah manusia. Sebagai seorang pengikis web, Anda mungkin sudah tahu mengapa para profesional keamanan siber terpaksa menciptakannya. Itu adalah hasil dari bot Anda yang mengotomatiskan permintaan situs web yang tak ada habisnya untuk mengaksesnya. Jadi, bahkan pengguna asli pun harus mengalami kesulitan dalam menghadapi CAPTCHA yang muncul dalam berbagai bentuk. Namun, Anda bisa melewati CAPTCHA, baik Anda seorang web scraper atau bukan, yang akan menjadi tujuan dari artikel ini. Tapi pertama-tama, mari kita pelajari apa itu CAPTCHA.

Lewati CAPTCHA Untuk Pengikisan Web

CAPTCHA biasanya dipicu untuk mendeteksi lalu lintas yang tidak wajar di situs. Jadi, hal ini dapat mengganggu scraper saat mengekstrak data dalam jumlah besar, untuk mengatasi pembatasan ini, pengguna lebih memilih solusi yang dapat memecahkan semua kode CAPTCHA ini dan mengakses situs web layaknya manusia sungguhan. Salah satu solusi untuk menerobos CAPTCHA adalah Capsolver. Memanfaatkan proxy dengan permintaan web juga akan membantu pengguna untuk tampil sebagai lalu lintas alami. 

Apa yang dimaksud dengan CAPTCHA?

CAPTCHA adalah singkatan dari Completely Automated Public Turing Test untuk membedakan Komputer dan Manusia. Akronim yang cukup panjang, bukan? Sekarang Anda mungkin bertanya-tanya apa arti bagian terakhir dari akronim ini, yaitu Turing Test - ya, ini adalah tes sederhana untuk menentukan apakah manusia atau bot yang berinteraksi dengan halaman web atau server web.

Bagaimanapun juga, CAPTCHA membedakan manusia dari bot, membantu analis keamanan siber melindungi server web dari serangan brute force, DDoS, dan dalam beberapa situasi, web scraping. 

Mari kita cari tahu bagaimana CAPTCHA membedakan manusia dari bot.

Bagaimana cara kerja CAPTCHA?

Anda dapat menemukan CAPTCHA dalam bentuk situs web, termasuk formulir kontak, pendaftaran, komentar, pendaftaran, atau check-out.

CAPTCHA tradisional menyertakan gambar dengan huruf, angka, atau keduanya yang direnggangkan atau diburamkan dalam sebuah kotak dengan warna latar belakang atau latar belakang transparan. Kemudian Anda harus mengidentifikasi karakter dan mengetikkannya di bidang teks yang mengikuti. Proses mengidentifikasi karakter ini lebih mudah bagi manusia tetapi agak rumit bagi bot.

Gagasan untuk mengaburkan atau mendistorsi teks CAPTCHA adalah untuk mempersulit bot mengidentifikasi karakter. Sebaliknya, manusia dapat menafsirkan dan mencegat karakter dalam berbagai format, seperti jenis huruf yang berbeda, tulisan tangan, dll. Karena itu, tidak semua manusia dapat memecahkan CAPTCHA pada percobaan pertama. Menurut penelitian, 8% pengguna akan salah mengetik pada percobaan pertama mereka, sementara 29% gagal jika CAPTCHA peka huruf besar-kecil.

Di sisi lain, beberapa bot canggih dapat mencegat huruf yang terdistorsi dengan bantuan pembelajaran mesin selama bertahun-tahun. Sebagai hasilnya, beberapa perusahaan seperti Google mengganti CAPTCHA konvensional dengan CAPTCHA yang canggih. Salah satu contohnya adalah ReCAPTCHA yang akan Anda temukan di bagian selanjutnya.

Apa yang dimaksud dengan ReCAPTCHA?

ReCAPTCHA adalah layanan gratis yang ditawarkan Google. Layanan ini meminta pengguna untuk mencentang kotak daripada mengetik teks, memecahkan teka-teki, atau persamaan matematika.

ReCAPTCHA yang khas lebih canggih daripada bentuk CAPTCHA konvensional. ReCAPTCHA ini menggunakan gambar dan teks dunia nyata seperti lampu lalu lintas di jalan, teks dari koran lama, dan buku cetak. Sebagai hasilnya, pengguna tidak perlu bergantung pada CAPTCHA jadul dengan teks yang buram dan terdistorsi.

Bagaimana cara kerja ReCAPTCHA?

Ada tiga jenis tes ReCAPTCHA yang penting untuk memverifikasi apakah Anda seorang manusia atau bukan:

Kotak centang

Ini adalah ReCAPTCHA yang meminta pengguna untuk mencentang kotak centang, "Saya bukan robot" seperti pada gambar di atas. Meskipun secara kasat mata terlihat bahwa bot pun dapat menyelesaikan tes ini, ada beberapa faktor yang dipertimbangkan:

  • Tes ini menyelidiki pergerakan mouse pengguna saat mendekati kotak centang.
  • Gerakan mouse pengguna tidak lurus, termasuk sebagian besar gerakan mouse langsung. Sulit bagi bot untuk meniru perilaku yang sama.
  • Terakhir, ReCAPTCHA akan memeriksa cookie yang disimpan peramban Anda.

Jika ReCAPTCHA gagal memverifikasi bahwa Anda adalah manusia, maka Anda akan menghadapi tantangan lain.

Pengenalan Gambar

ReCAPTCHA ini menyediakan pengguna dengan sembilan atau enam belas gambar persegi seperti yang dapat Anda lihat pada gambar di atas. Setiap kotak mewakili bagian dari gambar yang lebih besar atau gambar yang berbeda. Pengguna harus memilih kotak yang mewakili objek, hewan, pohon, kendaraan, atau lampu lalu lintas tertentu.

Jika pilihan pengguna cocok dengan pilihan pengguna lain yang telah melakukan tes yang sama, maka pengguna tersebut terverifikasi. Jika tidak, ReCAPTCHA akan memberikan tes yang lebih menantang.

Tidak Ada Interaksi

Tahukah Anda bahwa ReCAPTCHA dapat memverifikasi apakah Anda manusia atau bukan tanpa menggunakan kotak centang atau interaksi pengguna apa pun?

Tentu saja dengan mempertimbangkan riwayat pengguna dalam berinteraksi dengan situs web dan perilaku umum pengguna saat online. Dalam sebagian besar skenario, berdasarkan faktor-faktor ini, sistem akan dapat menentukan apakah Anda seorang bot.

Kegagalan untuk melakukannya akan kembali ke salah satu dari dua metode yang disebutkan sebelumnya.

Apa yang memicu CAPTCHA dan ReCAPTCHA?

CAPTCHA dapat dipicu jika situs web mendeteksi aktivitas yang tidak biasa yang menyerupai perilaku bot; Perilaku yang tidak biasa tersebut termasuk permintaan tak terbatas dalam hitungan detik dan mengklik tautan dengan kecepatan yang jauh lebih tinggi daripada manusia. 

Kemudian beberapa situs web secara otomatis memiliki CAPTCHA untuk melindungi sistem mereka.

Sejauh menyangkut ReCAPTCHA, tidak jelas benar apa yang memicunya. Namun, penyebab umumnya adalah pergerakan mouse, riwayat penjelajahan, dan pelacakan cookie.

Hal-hal yang perlu diketahui tentang melewati CAPTCHA saat melakukan web scraping

Sekarang Anda memiliki gambaran yang jelas tentang apa itu CAPTCHA dan Rechaptcha, bagaimana cara kerjanya, dan apa yang memicunya. Sekarang saatnya untuk melihat bagaimana CAPTCHA memengaruhi web scraping.

CAPTCHA dapat menghambat penggalian web karena bot otomatis melakukan sebagian besar operasi penggalian. Namun, jangan berkecil hati. Seperti yang telah disebutkan di awal artikel ini, ada beberapa cara untuk mengatasi CAPTCHA saat melakukan scraping web. Sebelum kita membahasnya, mari kita bahas apa saja yang perlu Anda perhatikan sebelum melakukan scraping.

Mengirim terlalu banyak permintaan ke situs web target

Pertama-tama, Anda harus memastikan bahwa Anda tidak mengizinkan web scraper/crawler Anda mengirim terlalu banyak permintaan dalam waktu singkat. Sebagian besar situs web telah menyebutkan di halaman syarat dan ketentuan mereka berapa banyak permintaan yang diizinkan oleh situs web tersebut. Pastikan untuk membacanya sebelum mulai melakukan scraping.

Header HTTP

Saat Anda terhubung ke sebuah situs web, Anda mengirimkan informasi tentang perangkat Anda ke situs web yang terhubung. Mereka dapat menggunakan informasi ini untuk menyesuaikan konten dengan spesifikasi perangkat Anda dan pelacakan metrik. Jadi, ketika mereka mengetahui bahwa permintaan tersebut berasal dari perangkat yang sama, permintaan apa pun yang Anda kirimkan setelahnya akan diblokir.

Jadi, jika Anda telah mengembangkan web scraper/crawler sendiri, Anda akan dapat mengubah informasi header untuk setiap permintaan yang dibuat oleh scraper Anda. Kemudian akan muncul di situs web target karena menerima banyak permintaan dari perangkat yang berbeda. Baca di sini untuk informasi lebih lanjut tentang header HTTP.

Alamat IP

Fakta lain yang harus Anda ketahui adalah bahwa situs web target belum memasukkan alamat IP Anda ke dalam daftar hitam. Mereka cenderung memasukkan alamat IP Anda ke dalam daftar hitam ketika Anda mengirimkan terlalu banyak permintaan dengan scraper/crawler Anda. 

Untuk mengatasi masalah di atas, Anda bisa menggunakan server proxy karena server ini menyembunyikan alamat IP Anda. 

Memutar header HTTP dan proxy (lebih lanjut tentang hal ini di bagian berikutnya) dengan pool akan memastikan bahwa beberapa perangkat mengakses situs web dari lokasi yang berbeda. Jadi, Anda seharusnya dapat melanjutkan scraping tanpa gangguan dari CAPTCHA. Dengan demikian, Anda harus memastikan bahwa Anda tidak merusak kinerja situs web dengan cara apa pun.

Namun, Anda perlu mencatat bahwa proksi tidak akan membantu Anda mengatasi CAPTCHA pada pendaftaran, perubahan kata sandi, formulir check-out, dll. Proksi hanya dapat membantu Anda mengatasi CAPTCHA yang dipicu oleh situs web karena adanya perilaku bot. Untuk menghindari CAPTCHA dalam bentuk seperti itu, kami akan membahas tentang pemecah CAPTCHA di bagian yang akan datang.

Jenis CAPTCHA lainnya

Selain faktor-faktor kunci di atas, Anda perlu mengetahui CAPTCHA di bawah ini saat melakukan scraping web dengan bot:

Honeypot-Honeypot adalah jenis CAPTCHA yang dilampirkan di dalam bidang formulir HTML atau tautan, tetapi visibilitasnya disembunyikan dengan CSS, sehingga ketika bot berinteraksi dengannya, bot pasti akan melaporkan dirinya sebagai bot. Jadi sebelum membuat bot Anda mengikis konten, pastikan bahwa properti CSS elemen terlihat.
CAPTCHA Kata/Pencocokan-Ini adalah CAPTCHA dalam persamaan matematika seperti memecahkan "3+7," misalnya. Bisa juga berupa teka-teki kata yang harus dipecahkan.
Masuk ke Media Sosial - Beberapa situs web mengharuskan Anda untuk masuk dengan akun Facebook Anda, misalnya. Namun, cara ini tidak populer karena sebagian besar administrator tahu bahwa orang-orang akan enggan untuk masuk dengan akun media sosial mereka.
Pelacakan waktu-CAPTCHA ini memantau seberapa cepat Anda melakukan tindakan tertentu, seperti mengisi formulir untuk menentukan apakah itu manusia atau bot.

Cara melewati CAPTCHA untuk Scraping Web

Putar proxy & gunakan alamat IP berkualitas

Seperti yang telah disebutkan pada bagian sebelumnya, Anda perlu merotasi proksi setiap kali Anda mengirim permintaan ke situs web target. Ini adalah salah satu cara untuk menghindari CAPTCHA yang terpicu saat Anda mengikis. Dalam situasi seperti ini, Anda perlu menggunakan proksi IP residensial yang bersih.
Ketika Anda memutar proxy, akan sulit bagi situs web target untuk menentukan jejak IP Anda. Hal ini karena, untuk setiap permintaan, alamat IP proxy akan muncul, bukan alamat IP Anda sendiri.

Memutar agen Pengguna

Karena Anda akan menggunakan scraper untuk mengikis web, Anda perlu menyamarkan agen pengguna ke peramban web populer atau bot-bot yang didukung seperti bot mesin pencari yang dikenali situs web.

Hanya mengubah agen pengguna saja tidak akan cukup karena Anda perlu memiliki daftar string agen pengguna dan kemudian memutarnya. Rotasi ini akan mengakibatkan situs web target melihat Anda sebagai perangkat yang berbeda, padahal pada kenyataannya, satu perangkat mengirimkan semua permintaan.

Sebagai praktik terbaik untuk langkah ini, akan lebih baik jika Anda menyimpan basis data agen pengguna yang sebenarnya. Selain itu, hapuslah cookie ketika Anda tidak lagi membutuhkannya.

Layanan Pemecahan CAPTCHA

Metode teknis yang lebih sederhana dan mudah untuk memecahkan CAPTCHA adalah dengan menggunakan layanan pemecahan CAPTCHA. Layanan ini menggunakan Kecerdasan Buatan (AI), Pembelajaran Mesin (MI), dan gabungan teknologi lainnya untuk memecahkan CAPTCHA.

Beberapa pemecah CAPTCHA terkemuka yang saat ini ada di industri ini adalah Capsolver dan Anti-CAPTCHA.

Ketika Anda membiarkan scraper Anda mengakses URL secara langsung setiap sepersekian detik, maka situs web penerima akan curiga. Akibatnya, situs web target akan memicu CAPTCHA.

Untuk menghindari skenario seperti itu, Anda dapat mengatur tajuk perujuk untuk membuatnya tampak seperti dirujuk dari halaman lain. Ini akan mengurangi kemungkinan terdeteksi sebagai bot. Atau, Anda dapat membuat bot mengunjungi halaman lain sebelum mengunjungi tautan yang diinginkan.

Hindari Honeypot

Honeypot adalah elemen tersembunyi pada halaman web yang digunakan oleh para ahli keamanan untuk menjebak bot atau penyusup. Meskipun peramban merender HTML-nya, properti CSS-nya diatur untuk disembunyikan. Namun, tidak seperti manusia, kode honey pot akan terlihat oleh bot ketika mereka mengorek data. Akibatnya, mereka jatuh ke dalam perangkap yang dibuat oleh honeypot.

Jadi, Anda harus memastikan bahwa Anda memeriksa properti CSS dari semua elemen di halaman web tidak tersembunyi atau tidak terlihat sebelum Anda mulai melakukan scraping. Hanya setelah Anda yakin bahwa tidak ada elemen yang tersembunyi, barulah Anda mengatur bot Anda untuk melakukan scraping.

Pertanyaan yang Sering Diajukan

1. What does bypassing CAPTCHAs for Web Scraping mean?
Melewati CAPTCHA hanyalah proses menghapus pemblokir yang muncul saat mengikis data dari berbagai situs. Karena CAPTCHA dirancang untuk memverifikasi apakah lalu lintas web adalah organik.
2. What is ReCaptcha?
ReCaptcha mencegah situs web Anda dari spam dan lalu lintas bot berbahaya. ReCaptcha menghasilkan teka-teki interaktif untuk membedakan lalu lintas organik dari lalu lintas bot.
3. How will a proxy help users in bypassing Captchas?
Ketika Anda mengirim permintaan web secara berurutan dari bot atau solusi scraping apa pun, CAPTCHA dapat dengan mudah mengidentifikasi trafik tersebut berasal dari bot spam. Jadi, menggunakan alamat proxy dari proxy akan membuat Anda terlihat seperti lalu lintas real-time.

Kesimpulan

Artikel ini akan memberikan Anda gambaran yang komprehensif tentang cara menghindari CAPTCHA saat melakukan scraping web. Menghindari CAPTCHA bisa menjadi proses yang rumit. Namun, dengan menggunakan teknik-teknik khusus yang dibahas dalam artikel ini, Anda dapat mengembangkan bot sedemikian rupa untuk menghindari CAPTCHA.

Kami harap Anda dapat memanfaatkan semua teknik yang dibahas dalam artikel ini.