Dalam artikel ini, kami akan menunjukkan cara sederhana dan efektif untuk melewati CAPTCHA saat mengambil data produk Amazon dan mendapatkan keunggulan kompetitif di industri Anda.
Namun sebelum kita mendalami kodenya, Anda harus terlebih dahulu memahami apa itu kode.
Daftar Isi
Apa itu CAPTCHA?
CAPTCHA adalah singkatan dari Csepenuhnya Aotomatis Ppublik TAnda akan mengetahuinya selama tes Ckomputer dan Hmanusia ABagian. Dengan kata lain, ini adalah tes yang dirancang untuk menentukan apakah pengguna yang mengakses situs web adalah manusia atau bot.
CAPTCHA melindungi situs web dari penyalahgunaan, seperti:
- Mengirim spam ke formulir komentar, formulir kontak, dan halaman login, hanyalah beberapa di antaranya
- Bot pengikis yang berbahaya dan tidak patuh
- Bot otomatis yang mencoba menggunakan nama pengguna dan kata sandi yang dicuri atau dibocorkan
- Pembelian barang secara otomatis menggunakan informasi kartu kredit curian
Dan masih banyak lagi praktik “blackhat”.
Efisiensi pengujian CAPTCHA berasal dari fakta bahwa tantangan mudah dipecahkan oleh manusia dan sulit bagi komputer. Beberapa contoh pengujian CAPTCHA adalah:
- CAPTCHA berbasis teks: Identifikasi teks yang diregangkan dengan huruf dan angka.
- CAPTCHA berbasis gambar: Identifikasi gambar serupa di kisi gambar dengan mengeklik posisinya di kisi.
- CAPTCHA berbasis audio: Dengarkan audio dan transkripsikan hasilnya menjadi input teks. Ini berguna bagi pengguna yang mengalami kesulitan dengan tantangan visual.
- Masuk media sosial: Hal ini jarang terjadi, namun mereka perlu mengautentikasi dengan salah satu akun media sosial mereka.
Bagaimana CAPTCHA mencegah web scraping
Pengikisan web adalah teknik pengumpulan data yang terdiri dari penggalian informasi secara otomatis dari situs web.
Namun, tidak semua web scraper dibuat sama.
Ketika data alternatif menjadi lebih berharga, semakin banyak orang yang mencoba mengaksesnya melalui otomatisasi.
Masalahnya adalah, dalam banyak kasus, scraper tidak dikonfigurasi dengan benar sehingga merugikan situs web yang ditargetkan, misalnya dengan membebani server secara berlebihan sehingga tidak dapat lagi melayani permintaan dari pengguna sebenarnya, sehingga menurunkan pengalaman pengguna akhir.
Untuk melindungi diri Anda dari penyalahgunaan bot, Banyak situs web mengandalkan pengujian CAPTCHA, yang sulit diselesaikan oleh sebagian besar bot karena memerlukan interaksi manusia. Hal ini membuat bot tidak mungkin mengakses situs web karena mereka tidak dapat menafsirkan dan memecahkan tantangan ini secara efektif.
Kapan pengujian CAPTCHA dipicu di Amazon?
Berikut beberapa pola yang memicu pengujian CAPTCHA:
- Rasio klik di atas rata-rata
- Alamat IP yang digunakan ada dalam database alamat IP yang masuk daftar hitam
- Klien tidak memuat CSS, JavaScript, atau gambar
- Klien memuat halaman yang sama berkali-kali tanpa membuka halaman lain dari waktu ke waktu
- Klien melakukan beberapa upaya login yang gagal dalam waktu singkat
- Frekuensi permintaan tinggi atau pola permintaan yang sangat konsisten (satu permintaan setiap 10 detik menggunakan IP yang sama)
Ada banyak cara lain Amazon dapat mendeteksi bahwa bot mengakses situs webnya - dalam banyak kasus, Anda bahkan mungkin tidak mendapatkan permintaan pertama yang berhasil tanpa rotasi IP yang tepat.
Jadi apa yang harus kamu lakukan? Mengkodekan perilaku untuk setiap skenario potensial tidak hanya memakan waktu, namun hampir mustahil. Hanya masalah waktu sebelum alat pengikis Anda tersumbat.
Kabar baiknya adalah Anda tidak perlu membuat solusi ini dari awal.
Cegah Amazon CAPTCHA dengan ScraperAPI
Karena Amazon adalah situs web e-niaga yang paling banyak dikunjungi di dunia dan memiliki basis data produk yang besar, Amazon menggunakan CAPTCHA untuk mencegah aktivitas bot dan pengikisan data web.
Penting bagi web scraper untuk menyelesaikan pengujian Amazon CAPTCHA dalam waktu yang wajar.
ScraperAPI membantu dengan menyediakan API bypass CAPTCHA yang sederhana namun kuat dengan tingkat keberhasilan mendekati 100 %, memberi Anda akses ke data dalam hitungan detik.
Untuk tutorial ini, kita akan menggunakan ScraperAPI dan Node.js API standar untuk mengikis halaman di bawah ini.
persyaratan
Untuk menyelesaikan langkah ini, Anda harus menginstal alat-alat ini di komputer Anda.
Siapkan proyek
Mari buat folder dan inisialisasi proyek Node.js baru.
mkdir amazon-captcha-bypass
cd amazon-captcha-bypass
npm init -y
touch index.js
Kirimkan permintaan Anda melalui ScraperAPI
API standar ScraperAPI dapat diakses di https://api.scraperapi.com.
Untuk mengirim request ke API standar kita menggunakan Axios, jadi kita install dulu:
Buka ini indeks.js file dan tambahkan kode berikut:
const axios = require('axios');
const AMAZON_PAGE_URL = 'https://www.amazon.com/s?crid=2S8Z5MXHF5A2&i=electronics-intl-ship&k=printers&ref=glow_cls&refresh=3&sprefix=printers%2Celectronics-intl-ship%2C174';
const API_URL = 'https://api.scraperapi.com';
const API_KEY = '6f18d81b608007cd8226b736c1f6b462' // <--- Enter your API key here
const webScraper = async () => {
const queryParams = new URLSearchParams({
api_key: API_KEY,
url: AMAZON_PAGE_URL,
render: true,
});
try {
const response = await axios.get(`${API_URL}/?${queryParams.toString()}`);
const html = response.data;
console.log(html);
console.log("HTML content length: %d", html.length);
} catch (error) {
console.log(error.response.data)
}
};
void webScraper();
catatan: Ingatlah untuk menambahkan kunci API Anda. Anda dapat menemukannya di dasbor ScraperAPI Anda.
Jalankan perintah node index.js
untuk mengeksekusi kode. Anda akan mendapatkan output yang mirip dengan berikut ini:
Saat API menerima permintaan, API menggunakan pembelajaran mesin dan analisis statistik untuk menentukan kombinasi IP dan header terbaik untuk mencegah pengujian CAPTCHA Amazon terpicu.
Jika produk Amazon atau halaman pencarian mengirimkan pengujian CAPTCHA, ScraperAPI menghasilkan kombinasi alamat IP dan header baru untuk membuat permintaan baru hingga berhasil atau waktu maksimum yang ditetapkan untuk eksekusi tercapai.