Beranda BlogPengikisan web Cara melewati dan mengikis situs yang dilindungi bot menggunakan Python Akamai

Cara melewati dan mengikis situs yang dilindungi bot menggunakan Python Akamai

oleh Kadek

Apa itu Akamai?

Akamai adalah salah satu penyedia pengiriman konten dan layanan cloud terkemuka di dunia. Perusahaan ini tidak hanya menghosting dan mendistribusikan konten, tetapi juga bertindak sebagai lapisan keamanan untuk banyak situs web besar. Pikirkan tentang situs-situs seperti USA Today, Reddit, dan bahkan raksasa e-commerce; banyak dari mereka mengandalkan perlindungan bot Akamai untuk melindungi platform mereka dari akses otomatis yang tidak diinginkan.

Tentang perlindungan bot Akamai

Akamai dikenal dengan perlindungan botnya yang kuat, menjadikannya tantangan nyata bagi para pengikis web. Mereka menggunakan kombinasi teknik untuk mendeteksi dan memblokir lalu lintas otomatis. Artinya, metode pengikisan tradisional saja tidak cukup di sini. Untuk mengatasi Akamai, penting untuk memahami cara kerja pertahanan mereka dan apa yang mereka cari.

Di bagian ini, saya menjelaskan cara utama Akamai mendeteksi bot. Ini tidak hanya mengandalkan satu metode, tetapi menggabungkan tantangan JavaScript, sidik jari perangkat, analisis perilaku, dan pemantauan IP. Kedengarannya rumit? Jangan khawatir! Saya menjelaskan setiap metode secara sederhana sehingga Anda tahu persis apa yang diharapkan.

1. Tantangan JavaScript Tingkat Lanjut

Akamai menggunakan tantangan JavaScript kompleks yang dijalankan langsung di browser pengguna. Tantangan-tantangan ini jauh lebih kompleks dibandingkan CAPTCHA sederhana. Saat Anda mengunjungi situs yang dilindungi Akamai, JavaScript dimasukkan ke halaman yang melakukan serangkaian pemeriksaan:

  • Fitur peramban: Ini menguji bagaimana browser Anda menangani fungsi JavaScript, elemen HTML5, dan tugas-tugas tertentu yang dilakukan browser sebenarnya. Banyak bot, terutama bot tanpa kepala, tidak sepenuhnya mendukung fitur ini sehingga menimbulkan kecurigaan.
  • Analisis waktu: Akamai mengukur waktu yang tepat yang dibutuhkan browser Anda untuk memproses kode JavaScript tertentu. Browser manusia biasanya mengalami sedikit fluktuasi dalam kecepatan pemrosesan karena faktor-faktor seperti latensi jaringan dan kinerja perangkat. Sebaliknya, bot sering kali menjalankan skrip ini terlalu cepat atau terlalu lancar, sehingga memicu tanda bahaya.
  • Pembaruan Dinamis: Tantangan JavaScript dapat berubah secara dinamis pada setiap kunjungan, sehingga hampir mustahil bagi bot untuk membuat solusi hard-code. Pertahanan tersembunyi Akamai tidak hanya memblokir perilaku mencurigakan secara langsung, namun dapat menimbulkan tantangan tambahan, sehingga menyulitkan bot untuk mengenali bahwa mereka sedang diuji.

2. Sidik jari perangkat

Akamai mengumpulkan data terperinci dari setiap perangkat pengunjung dan membuat “sidik jari” yang unik. Ini menggunakan metode pengenalan perangkat yang sangat rinci untuk mengidentifikasi setiap pengunjung secara unik. Ini mengumpulkan berbagai informasi tentang perangkat dan browser Anda, termasuk:

  • Detail peramban: Data tentang versi browser, plug-in yang diinstal, resolusi layar, zona waktu, bahasa, dan lainnya dikumpulkan. Informasi ini membantu Akamai membuat “sidik jari” unik untuk setiap sesi. Jika scraper Anda tidak meniru konfigurasi perangkat pada umumnya, scraper tersebut akan terlihat mencurigakan.
  • Pemantauan berkelanjutan: Ini bukanlah ujian yang hanya dilakukan sekali saja. Akamai memperbarui sidik jari perangkatnya sepanjang sesi, memeriksa ketidakkonsistenan. Misalnya, jika scraper Anda mengubah agen pengguna atau pengaturan browser di tengah sesi, Akamai akan mengetahui perbedaan tersebut dan menandai permintaan tersebut.
  • Basis data bot: Akamai mengelola database yang terus berkembang yang berisi lebih dari 1.700 bot yang dikenal. Direktori ini terus diperbarui berdasarkan miliaran permintaan bot yang masuk ke jaringannya setiap hari. Ia memeriksa sidik jari Anda terhadap daftar ekstensif ini, dan jika ada kecocokan atau bahkan sebagian kesamaan, scraper Anda akan ditandai.

3. Analisis perilaku dengan model AI

Salah satu alat Akamai yang paling canggih adalah penggunaan model AI untuk memantau perilaku pengguna secara real time. Ini bukan pemeriksaan pergerakan mouse pada umumnya, melainkan analisis komprehensif yang dirancang untuk mendeteksi aktivitas otomatis yang paling halus sekalipun:

  • Gerakan mouse dan pola pengguliran: Interaksi manusia di situs web bergantung pada variabilitas alami. Kita ragu-ragu, menggerakkan mouse dengan tersentak-sentak, menggulir dengan kecepatan berbeda, dan terkadang bahkan melakukan kesalahan. Model AI Akamai mempelajari pola-pola ini dari data pengguna sebenarnya dan menggunakannya sebagai dasar untuk mengenali skrip otomatis. Bot sering kali tidak dapat mereproduksi keacakan ini, sehingga membuat tindakan mereka menonjol.
  • Dinamika penekanan tombol: Akamai melangkah lebih jauh dan memantau waktu antara penekanan tombol. Saat mengisi formulir atau mencari, orang mengalami penundaan yang tidak teratur di antara penekanan tombol. Bot, sebaliknya, biasanya bekerja pada kecepatan mekanis yang konstan. AI menganalisis pola-pola ini secara real-time dan jika tidak sesuai dengan perilaku manusia yang diharapkan, permintaan tersebut akan ditandai.
  • Kemampuan beradaptasi: Model AI ini tidak statis. Akamai terus-menerus memberi mereka data baru dari miliaran permintaan setiap hari. Artinya, modelnya berevolusi, beradaptasi dengan perilaku bot baru, dan menjadi lebih presisi seiring berjalannya waktu. Ini adalah target yang bergerak, menjadikannya tantangan nyata untuk berkeliling Akamai.

4. Alamat IP dan deteksi proxy

Akamai mengambil pendekatan berlapis-lapis dalam pemantauan IP. Selain memblokir alamat IP berbahaya yang diketahui, perusahaan menggunakan kombinasi teknik untuk mengidentifikasi perilaku yang berpotensi berbahaya:

  • Reputasi kekayaan intelektual: Akamai mengelola database real-time alamat IP yang terkait dengan bot, layanan proxy, VPN, dan aktivitas mencurigakan lainnya. IP bot Anda akan diperiksa berdasarkan database ini. Jika cocok atau bahkan memiliki pola serupa dengan IP berbahaya yang diketahui, akses akan ditolak.
  • Analisis geolokasi: Dengan memeriksa alamat IP, Akamai menentukan lokasi geografis pengunjung. Ini kemudian menghubungkan informasi ini dengan perilaku pengguna pada umumnya di situs yang dilindungi. Misalnya, jika IP Anda berpindah dari satu negara ke negara lain dalam hitungan detik atau dari wilayah yang tidak terkait dengan lalu lintas situs biasanya, Akamai akan menandainya sebagai mencurigakan.
  • Batas Tarif: Akamai melacak jumlah permintaan yang datang dari satu alamat IP selama periode waktu tertentu. Ketika volume permintaan melebihi aktivitas pengguna normal, batas kecepatan akan dipicu. Namun, batasan Akamai tidak tetap - batasan tersebut disesuaikan berdasarkan analisis lalu lintas waktu nyata. Hal ini mempersulit bot untuk memprediksi dan menghindari deteksi hanya dengan memperlambat permintaan.
  • Pertahanan Siluman: Tidak seperti perlindungan sederhana yang memblokir bot secara langsung, Akamai menggunakan taktik sembunyi-sembunyi. Hal ini memungkinkan beberapa akses awal untuk memantau perilaku bot sebelum secara bertahap memperkenalkan tantangan lebih lanjut. Strategi “partisipasi” ini menipu bot dengan berpikir bahwa mereka berfungsi normal, hanya untuk mengunci mereka saat mereka melanjutkan aktivitasnya.

Bagaimana cara mengetahui apakah Akamai memblokir Anda

Sekarang setelah Anda memiliki gambaran tentang cara kerja Akamai, mari kita bahas tentang cara mengetahui kapan Akamai menghalangi upaya pengikisan Anda. Mengetahui bahwa Anda berurusan dengan Akamai adalah langkah pertama dalam merencanakan cara menyiasatinya.

Tanda-tanda Anda diblokir oleh Akamai:

  1. Kode kesalahan HTTP: Tanda yang paling umum adalah jika Anda memiliki a 403 Forbidden atau 503 Service Unavailable Kesalahan. Kode status ini sering kali menunjukkan bahwa Akamai telah menandai permintaan Anda sebagai mencurigakan dan memblokir akses Anda.
  2. Tantangan JavaScript: Jika Anda dialihkan ke halaman yang berisi JavaScript dengan banyak kode yang dikaburkan (karakter dan fungsi acak), Akamai mungkin sedang menguji apakah Anda adalah pengguna sebenarnya. Anda mungkin melihat respons dengan kode JavaScript, bukan konten sebenarnya yang Anda coba ambil.
  3. Cookie dan header yang aneh: Akamai menambahkan cookie unik dan header khusus ke respons untuk melacak sesi Anda. Jika scraper Anda tidak memproses cookie ini dengan benar, Akamai akan memblokir permintaan Anda berikutnya.
  4. CAPTCHA dan halaman verifikasi: Dalam beberapa kasus, Akamai akan memberi Anda CAPTCHA atau halaman yang meminta Anda memverifikasi bahwa Anda adalah manusia. Ini adalah tanda pasti bahwa Anda telah memicu mekanisme deteksi bot.

Situs web populer yang dilindungi oleh Akamai

Keamanan Akamai digunakan oleh berbagai situs web dengan lalu lintas tinggi termasuk:

  • Situs web berita: Situs web seperti USA Today, CNBC, dan BBC sering menggunakan Akamai untuk melindungi kontennya.
  • Platform e-niaga: Banyak toko online besar mengandalkan Akamai untuk melindungi halaman checkout, daftar produk, dan data pengguna mereka.
  • Media sosial dan forum: Platform seperti Reddit dan LinkedIn juga menggunakan pertahanan Akamai untuk memproses konten dan lalu lintas buatan pengguna dalam jumlah besar.

Jika Anda mencoba mengambil data dari salah satu jenis situs ini dan mengalami masalah yang baru saja disebutkan, Anda mungkin berurusan dengan Akamai.

Sekarang setelah Anda mengetahui cara mendeteksi Akamai dan memahami pertahanan yang digunakannya, sekarang saatnya melihat bagaimana kita dapat mengatasi tantangan ini. Di bagian selanjutnya, Anda akan mempelajari cara melewati Akamai menggunakan Python dan ScraperAPI.

Cara melewati Akamai dengan ScraperAPI

ScraperAPI memudahkan untuk melewati pertahanan Akamai dengan menangani beberapa aspek scraping yang paling rumit, seperti rotasi proxy, rendering JavaScript, dan manajemen cookie. Mari kita lihat bagaimana Anda dapat menggunakan ScraperAPI untuk mengambil berita utama teratas dari situs web USA Today menggunakan Python.

Berikut skrip yang dapat Anda gunakan:


  import requests
  from bs4 import BeautifulSoup
  
  API_KEY = "YOUR_SCRAPER_API_KEY"
  URL = "https://www.usatoday.com/"
  
  params = {
      'api_key': API_KEY,
      'url': URL,
      'render': 'true'  # Ensures that JavaScript is rendered, crucial for Akamai-protected sites
  }
  
  response = requests.get("http://api.scraperapi.com", params=params)
  
  if response.status_code == 200:
      print("Successfully bypassed Akamai!")
      soup = BeautifulSoup(response.text, 'html.parser')
      
      # Extract headlines from the page
      headline_section = soup.find("div", class_="gnt_m_th")
      headlines = headline_section.find_all("a") if headline_section else ()
      
      for headline in headlines:
          print({"headline": headline.text, "link": headline("href")})
  else:
      print(f"Failed to bypass Akamai. Status code: {response.status_code}")

Begini cara kerjanya:

  1. Siapkan kunci API Anda: Pengganti "YOUR_SCRAPER_API_KEY" dengan kunci ScraperAPI Anda yang sebenarnya. Kunci ini memungkinkan Anda mengakses layanan ScraperAPI, termasuk rotasi proksi dan rendering JavaScript.
  2. Konfigurasikan parameter untuk permintaan:
    • api_key: Ini akan mengautentikasi permintaan Anda ke ScraperAPI.
    • url: Ini adalah situs web target yang ingin Anda kikis - dalam hal ini, USA Today.
    • render="true": Parameter ini memerintahkan ScraperAPI untuk merender JavaScript, yang penting untuk menghindari tantangan JavaScript Akamai. Akamai sering memasukkan kode JavaScript ke halaman untuk mendeteksi bot. Rendernya membuat kueri Anda terlihat lebih seperti pengunjung manusia sungguhan.
  3. Kirim permintaan:
    • Menggunakan requests.get()kirim permintaan GET ke titik akhir ScraperAPI dengan parameter yang kami siapkan. ScraperAPI menangani kompleksitas termasuk eksekusi JavaScript dan manajemen cookie.
  4. Periksa jawabannya:
    • Periksa apakah kode status responsnya 200. Jika sudah, berarti kamu berhasil melewati Akamai! Jika Anda menemukan kode status lain seperti 403 atau 503Hal ini menunjukkan bahwa solusi tersebut tidak berhasil dan Anda mungkin perlu mengoptimalkan pendekatan Anda (misalnya dengan merotasi agen pengguna atau menyempurnakan interval permintaan).
  5. Analisis isinya:
    • Menggunakan BeautifulSoup untuk mengurai respons HTML dan mengekstrak data yang diperlukan. Di sini kita sedang mencarinya div dengan kelas "gnt_m_th" yang menampilkan berita utama utama USA Today.
    • Script menemukan semua orang a Tag dalam bagian ini, mencetak teks (heading) dan href (Tautan) untuk semua orang.

Sekarang setelah Anda memiliki kode dan mengetahui perbedaan yang dibuat ScraperAPI, sekarang saatnya menjalankan skrip dan berhasil menghapus judul tersebut!

Ringkasan: Mengapa memilih ScraperAPI untuk melewati Akamai?

Perlindungan bot Akamai adalah salah satu yang terberat di pasaran. Meskipun ada banyak alat pengikis yang tersedia, tidak semuanya dapat secara efektif melewati pertahanan canggih Akamai. Karena alasan berikut, ScraperAPI adalah pilihan terbaik untuk tugas ini:

1. Solusi lengkap untuk perlindungan bot tingkat lanjut

ScraperAPI bukan hanya layanan proxy sederhana. Ini menggabungkan rotasi IP, rendering JavaScript, dan pemrosesan cookie dan header otomatis dalam satu paket. Saat Anda bekerja dengan teknik deteksi lanjutan Akamai - seperti analisis perilaku, sidik jari perangkat, dan tantangan JavaScript - Anda memerlukan alat yang dapat mengatasi semua tantangan ini. ScraperAPI menangani kerumitan ini sehingga Anda tidak perlu khawatir menyusun beberapa alat untuk tugas tersebut.

2. Integrasi yang ramah pengguna

Menambahkan ScraperAPI ke skrip Python Anda yang sudah ada sangatlah mudah. Hanya beberapa baris kode dan Anda siap berangkat. Kemudahan penggunaan ini memudahkan untuk melewati perlindungan Akamai tanpa terjebak dalam konfigurasi tanpa akhir. Anda dapat fokus pada data yang Anda perlukan daripada melawan pertahanan Akamai.

3. Tingkat keberhasilan dan keandalan yang tinggi

Akamai terus mengembangkan pertahanannya, namun ScraperAPI terus mengikuti perubahan ini untuk memastikan tingkat keberhasilan yang tinggi. Baik Anda mengambil data dalam jumlah kecil atau melakukan operasi besar, ScraperAPI memberikan kinerja yang konsisten dan andal. Ini berarti lebih sedikit penyumbatan, lebih sedikit kesalahan, dan lebih banyak waktu untuk tugas-tugas produktif daripada memecahkan masalah.

4. Skalabilitas untuk memenuhi semua kebutuhan

Seiring dengan meningkatnya kebutuhan pengikisan Anda, ScraperAPI dapat diskalakan dengan mudah. Baik Anda menyalin beberapa halaman atau jutaan halaman, ScraperAPI menangani beban kerja tanpa mengorbankan kecepatan atau keandalan. Rotasi proxy otomatis dan infrastruktur yang kuat dirancang untuk memenuhi kebutuhan penghapusan situs web yang dilindungi Akamai, berapa pun skalanya.

5. Dukungan dan sumber daya yang komprehensif

ScraperAPI tidak hanya menyediakan alat tersebut, tetapi juga mendukungnya dengan dokumentasi terperinci, tutorial scraping, dan tim dukungan yang responsif. Saat Anda menghadapi sesuatu yang menuntut seperti Akamai, memiliki akses ke sumber daya dan dukungan yang bermanfaat dapat membuat perbedaan besar. Dukungan ScraperAPI memastikan Anda memiliki panduan yang diperlukan untuk mengatasi segala rintangan yang muncul.

Ketika ingin melewati Akamai, memilih alat yang tepat sangatlah penting. ScraperAPI menyederhanakan prosesnya, menjadikannya pilihan pertama untuk melewati sistem perlindungan bot yang paling sulit sekalipun.

Siap untuk memulai? Buat akun ScraperAPI gratis dan dapatkan 5.000 kredit API untuk menguji semua alat kami selama tujuh hari.

Pos terkait

Tinggalkan Komentar