Beranda BlogPengikisan web Cara melewati dan mengikis situs yang dilindungi DataDome dengan Python

Cara melewati dan mengikis situs yang dilindungi DataDome dengan Python

oleh Kadek

Jadi, apa sebenarnya yang bisa Anda harapkan dari DataDome? Mari kita uraikan.

Apa itu DataDome?

DataDome adalah layanan perlindungan bot canggih yang mendeteksi dan memblokir aktivitas web scraping otomatis. Ini seperti penjaga, menggunakan kombinasi algoritma pembelajaran mesin canggih, analisis perilaku, dan pemrosesan data real-time untuk membedakan antara pengguna manusia yang sah dan bot.

Beginilah cara kerja DataDome

Berikut rincian cara kerja DataDome:

1. Analisis perilaku

DataDome memantau perilaku pengguna secara real time dan menganalisis pola seperti gerakan mouse, klik, dan scrolling untuk mengidentifikasi bot. Jika perilaku Anda tidak sesuai dengan pola manusia pada umumnya, DataDome mungkin menandai Anda sebagai bot.

Untuk menghindari deteksi, penting untuk meniru perilaku manusia. Alat seperti Selenium, Puppeteer, atau Playwright sangat bagus untuk menyimulasikan interaksi pengguna yang realistis, namun ScraperAPI menyempurnakannya dengan mengelola kecepatan permintaan dan distribusi lalu lintas sehingga perilaku bot Anda tampak lebih sah dengan intervensi manual minimal.

2. Sidik jari perangkat dan browser

DataDome mengumpulkan informasi terperinci tentang perangkat Anda, termasuk karakteristik browser, alamat IP, dan sistem operasi, untuk membuat sidik jari unik bagi setiap pengunjung. Sidik jari ini membantu melacak calon bot di seluruh sesi.

Agar tidak ditandai, pastikan untuk sering mengubah sidik jari scraper Anda dengan mengacak string agen pengguna, memalsukan data browser, dan menggunakan browser tanpa kepala, yang lebih sulit dideteksi.

ScraperAPI mempermudah hal ini dengan merotasi agen pengguna dan header secara otomatis, memastikan scraper Anda menyatu dengan lalu lintas reguler.

Mereka yang menginginkan kontrol lebih dapat menggunakan solusi sidik jari tingkat lanjut dengan integrasi alat seperti Selenium Stealth, Puppeteer Extra Plugin Stealth, dan Playwright Stealth, yang bekerja secara lancar dengan proses otomatis ScraperAPI.

3. Analisis IP waktu nyata

DataDome memelihara database komprehensif alamat IP berbahaya yang diketahui. Jika permintaan Anda berasal dari alamat IP yang mencurigakan, permintaan tersebut mungkin akan langsung diblokir.

Untuk mengatasi hal ini, penting untuk menggunakan proxy perumahan atau seluler berkualitas tinggi dari penyedia tepercaya yang mirip dengan pengguna rumahan biasa dan kecil kemungkinannya untuk ditandai.

ScraperAPI unggul di sini dengan rotasi IP bawaan dengan kumpulan IP pribadi dan seluler yang memiliki reputasi baik, sehingga mengurangi kemungkinan deteksi. Rotasi IP otomatis ini memastikan permintaan Anda berasal dari sumber yang berbeda dan tepercaya serta membantu Anda mempertahankan akses tanpa gangguan.

4. Tantangan CAPTCHA dan JavaScript

Jika DataDome mencurigai aktivitas bot, DataDome mungkin menggunakan CAPTCHA atau tantangan JavaScript yang kompleks untuk memverifikasi bahwa pengguna adalah manusia. Bot yang gagal dalam pengujian ini akan ditolak aksesnya ke situs.

Mengintegrasikan layanan solusi CAPTCHA seperti 2Captcha, Anti-Captcha dan DeathByCaptcha adalah salah satu cara untuk mengatasi tantangan tersebut. ScraperAPI mempermudahnya dengan mengelola tantangan CAPTCHA secara otomatis. Ini berarti scraper Anda dapat melanjutkan tugasnya tanpa diperlambat oleh gangguan.

Selain itu, dengan mengadopsi lebih banyak pola interaksi manusia dan mengurangi frekuensi permintaan, scraper Anda dapat mengurangi kemungkinan memicu tantangan ini. Hal ini menjadikan ScraperAPI solusi lengkap untuk scraping dan manajemen CAPTCHA.

Cara melewati tindakan anti-bot DataDome

Sekarang setelah kita memahami cara kerja DataDome, mari kita jelajahi strategi untuk menghindari pertahanan canggihnya. DataDome adalah salah satu sistem yang paling sulit dikelola karena banyaknya lapisan perlindungannya, namun dengan pendekatan dan alat yang tepat, Anda dapat berhasil melewati hambatan ini.

1. Gunakan ScraperAPI untuk menghindari tantangan DataDome

ScraperAPI mengotomatiskan banyak tugas yang biasanya memakan banyak waktu, seperti rotasi IP, manajemen agen pengguna, dan pemrosesan CAPTCHA.

Bayangkan ScraperAPI sebagai pisau Swiss Army untuk pengikisan – ringkas, serbaguna, dan siap menangani apa pun yang DataDome hadapi.

Begini cara kerjanya:

ScraperAPI menangani semuanya di latar belakang - rotasi IP, manajemen header, dan bahkan penanganan CAPTCHA - jadi Anda tidak perlu mengkhawatirkan detailnya. Yang perlu Anda lakukan hanyalah melakukan panggilan API sederhana.

Inilah cara Anda menggunakannya untuk mengikis situs yang dilindungi DataDome seperti LeBonCoin:

  1. Mendaftar untuk ScraperAPI: Pertama, buat akun di situs ScraperAPI untuk mendapatkan kunci API Anda.
  2. Mencoba mengikis tanpa ScraperAPI: Mari kita coba mengikis LeBonCoin, situs yang dilindungi DataDome, tanpa ScraperAP:

  import requests

  URL = 'https://www.leboncoin.fr/'
  
  response = requests.get(URL)
  
  print(response.text)

Saat Anda menjalankan skrip ini, Anda mungkin tidak akan mendapatkan konten HTML halaman tersebut, melainkan respons yang mengarahkan Anda ke CAPTCHA atau halaman blokir.

Outputnya berisi pesan kesalahan atau permintaan yang memerlukan campur tangan manusia - inilah cara DataDome mencegah akses otomatis.

  1. Siapkan permintaan Anda dengan ScraperAPI: Sekarang mari kita lihat bagaimana ScraperAPI dapat membantu Anda melewati pertahanan ini. Berikut cara memodifikasi skrip untuk menggunakan ScraperAPI:

  import requests
  from bs4 import BeautifulSoup
  
  API_KEY = 'YOUR_SCRAPER_API_KEY'
  URL = 'https://www.leboncoin.fr/'
  
  params = {
      'api_key': API_KEY,
      'url': URL,
      'render': 'true'  # Ensures that JavaScript is rendered, which is crucial for DataDome-protected sites
  }
  
  response = requests.get('https://api.scraperapi.com', params=params)
  
  if response.status_code == 200:
      print("Successfully bypassed DataDome!")
      soup = BeautifulSoup(response.text, 'html.parser')
      print(soup.text)  # This will now contain the actual HTML of the LeBonCoin homepage
  else:
      print(f"Failed to bypass DataDome. Status code: {response.status_code}")

Keuntungan:

  • Secara otomatis menangani rotasi IP, manajemen agen pengguna, dan tantangan CAPTCHA.

  • Integrasi yang mudah ke dalam skrip Python Anda yang sudah ada.
  • Memberikan pengikisan yang konsisten dan andal tanpa kerumitan pengaturan manual.

Kekurangan:

  • Memerlukan langganan (tetapi sepadan dengan penghematan waktu dan sakit kepala).

2. Peniruan tingkah laku manusia

Karena DataDome sangat bergantung pada analisis perilaku untuk mendeteksi bot, bot Anda harus meniru perilaku manusia secara akurat. Ini termasuk penundaan acak, kecepatan pengguliran yang berbeda, dan pengenalan gerakan mouse alami.

Alat otomatisasi browser tingkat lanjut seperti Selenium, Puppeteer, dan Playwright, dikombinasikan dengan kecepatan permintaan dan kemampuan distribusi lalu lintas ScraperAPI, dapat membantu bot Anda berperilaku sedemikian rupa sehingga mirip dengan pengguna manusia, sehingga mengurangi risiko deteksi.

Menggunakan browser tanpa kepala dengan Selenium

Browser tanpa kepala dapat menjadi penyelamat saat bekerja dengan situs web yang sangat bergantung pada JavaScript. Alat seperti Selenium memungkinkan Anda meniru perilaku penjelajahan manusia, memungkinkan Anda melewati beberapa pertahanan DataDome.

Begini cara kerjanya:

Dengan Selenium Anda meluncurkan browser tanpa kepala (browser tanpa antarmuka pengguna) yang dapat berinteraksi dengan web seperti pengguna sebenarnya. Hal ini memungkinkan Anda menjalankan JavaScript dan berinteraksi dengan elemen halaman, yang sering kali diperlukan untuk situs web yang dilindungi DataDome.

Berikut adalah konfigurasi dasar:


  from selenium import webdriver

  options = webdriver.ChromeOptions()
  options.add_argument('headless')
  
  driver = webdriver.Chrome(options=options)
  driver.get('https://www.leboncoin.fr/')
  
  print(driver.page_source)
  driver.quit()

Keuntungan:

  • Dapat menangani halaman kompleks yang dirender dengan JavaScript.
  • Hal ini memungkinkan melewati beberapa mekanisme deteksi yang mengandalkan peninjauan interaksi pengguna sebenarnya.

Kekurangan:

  • Intensif sumber daya dan lebih lambat dibandingkan dengan metode lain.
  • Jika tidak digabungkan dengan teknik lain, masih bisa diblokir oleh sistem canggih seperti DataDome.

3. Penggunaan proxy perumahan tingkat lanjut

Analisis reputasi IP real-time DataDome memblokir permintaan dari alamat IP yang ditandai. Untuk mempertahankan akses, gunakan proxy rumah dan seluler berkualitas tinggi dari penyedia tepercaya yang kecil kemungkinannya untuk terdeteksi.

Berikut adalah daftar penyedia proxy terkemuka untuk menggores situs web sulit yang dapat Anda coba.

Rotasi proksi manual

Untuk melakukan ini, kumpulan alamat IP disiapkan dan dialihkan di antara alamat-alamat tersebut dengan setiap permintaan. Idenya adalah untuk menyebarkan permintaan Anda ke beberapa IP, sehingga mempersulit DataDome untuk mendeteksi dan memblokir aktivitas scraping Anda.

Begini cara kerjanya:

Anda menyimpan daftar IP proksi (atau membelinya dari penyedia) dan mengonfigurasi scraper Anda untuk melewatinya. Setiap permintaan dikirim dari IP yang berbeda, sehingga mengurangi kemungkinan ditandai.

Berikut ini contoh singkat menggunakan Python:


  import requests

  proxies = {
      'http': 'http://your_proxy:port',
      'https': 'https://your_proxy:port'
  }
  
  response = requests.get('https://www.leboncoin.fr/', proxies=proxies)

Keuntungan:

  • Memberi Anda kendali atas rotasi proxy.
  • Ini bisa efektif jika proxy berkualitas tinggi.

Kekurangan:

  • Membutuhkan sumber proxy yang andal.
  • Memakan waktu untuk mengelola dan memantau.
  • Kurang efektif jika proxy terdeteksi atau diblokir oleh DataDome.

4. Memalsukan sidik jari perangkat dan browser

Untuk melewati sidik jari perangkat dan browser DataDome, penting untuk mengubah sidik jari scraper Anda secara teratur dengan memutar string agen pengguna dan memalsukan data browser.

Alat seperti Selenium Stealth, Puppeteer Extra Plugin Stealth, dan Playwright Stealth memungkinkan manipulasi sidik jari tingkat lanjut. Dikombinasikan dengan rotasi otomatis agen pengguna dan header ScraperAPI, hal ini mempersulit DataDome untuk melacak dan menandai bot Anda.

Rotasi agen pengguna khusus

Teknik lainnya adalah rotasi agen pengguna. String agen pengguna mengidentifikasi browser dan jenis perangkat Anda. Dengan mengubahnya pada setiap permintaan, Anda dapat mengurangi kemungkinan scraper Anda ditandai sebagai bot.

Begini cara kerjanya:

Anda menyimpan daftar string agen pengguna dan secara acak memilih satu untuk setiap permintaan. Hal ini membuat aktivitas scraping Anda terlihat lebih seperti penjelajahan pengguna sebenarnya.

Inilah cara Anda melakukannya:


  import random
  import requests
  
  user_agents = (
      'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
      'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)',
      # Add more user agents
  )
  
  headers = {
      'User-Agent': random.choice(user_agents)
  }
  
  response = requests.get('https://www.leboncoin.fr/', headers=headers)

Keuntungan:

  • Ini membantu menghindari deteksi dengan membuat kueri Anda tampak lebih beragam.
  • Mudah diterapkan dan digabungkan dengan metode lain.

Kekurangan:

  • Ini bukanlah solusi yang berdiri sendiri. Untuk efektivitas yang lebih baik, harus dikombinasikan dengan teknik lain seperti rotasi proksi.

  • Efektivitas terbatas terhadap sistem deteksi canggih seperti DataDome.

4. Menangani tantangan CAPTCHA dan JavaScript

DataDome menggunakan tantangan CAPTCHA dan JavaScript untuk menyingkirkan bot. Dengan mengintegrasikan layanan penyelesaian CAPTCHA atau, lebih efektif, menggunakan manajemen CAPTCHA bawaan ScraperAPI, Anda dapat mengatasi rintangan ini tanpa memperlambat operasi pengikisan Anda.

Selain itu, pastikan bot Anda dapat menjalankan JavaScript sepenuhnya dan lulus pemeriksaan integritas browser. Hal ini memungkinkan Anda menghindari deteksi dan mempertahankan akses berkelanjutan.

Anda dapat mencapainya dengan menggunakan atau mengaktifkan browser tanpa kepala
render=true saat menggunakan ScraperAPI untuk merender halaman.

5. Diversifikasi pola lalu lintas

Algoritma pembelajaran mesin DataDome dirancang untuk mendeteksi pola lalu lintas yang mengindikasikan aktivitas bot. Agar tetap tidak terdeteksi, penting untuk mendiversifikasi lalu lintas Anda dengan merotasi alamat IP, agen pengguna, interval permintaan, dan mensimulasikan sesi mirip manusia dengan cookie.

ScraperAPI menggunakan pembelajaran mesin dan analisis statistik selama bertahun-tahun untuk memilih alamat IP yang benar dan menghasilkan header dan cookie yang sesuai untuk menjamin permintaan berhasil. Ini berarti lalu lintas bot Anda tidak dapat dibedakan dari lalu lintas pengguna yang sah.

Ringkasan: Mengapa memilih ScraperAPI untuk melewati DataDome?

Ada banyak sekali alat scraping di pasaran, jadi Anda mungkin bertanya-tanya: Mengapa ScraperAPI merupakan pilihan terbaik untuk melewati DataDome? Inilah alasannya:

1. Solusi Lengkap

ScraperAPI lebih dari sekedar layanan proxy. Ini menggabungkan rotasi IP, manajemen agen pengguna, dan solusi CAPTCHA dalam satu paket, menjadikannya solusi komprehensif untuk menangani alat anti-scraping canggih seperti DataDome. Anda tidak perlu khawatir untuk menyatukan berbagai alat untuk menyelesaikan pekerjaan – ScraperAPI menangani semuanya.

2. Kemudahan penggunaan

Mengintegrasikan ScraperAPI ke dalam skrip Python Anda yang sudah ada sangatlah mudah. Hanya dengan beberapa baris kode, Anda dapat mengikis situs web yang paling terlindungi sekalipun. Kemudahan penggunaan ini menghemat waktu dan tenaga Anda serta memungkinkan Anda fokus menganalisis data alih-alih berkutat dengan tindakan anti-scraping.

3. Keandalan

ScraperAPI dirancang untuk keandalan. Baik Anda hanya menggores beberapa halaman atau melakukan operasi pengikisan skala besar, ScraperAPI memberikan kinerja yang konsisten. Anda tidak harus menghadapi penyumbatan atau kesalahan terus-menerus, yang berarti lebih sedikit waktu henti dan lebih banyak produktivitas.

4. Skalabilitas

Seiring dengan meningkatnya kebutuhan scraping Anda, ScraperAPI pun berkembang bersama Anda. Baik Anda sedang mengerjakan proyek kecil atau operasi scraping tingkat perusahaan besar, ScraperAPI dapat menangani beban kerja tanpa mengorbankan kecepatan atau keandalan.

5. Dukungan dan Sumber Daya

Saat Anda memilih ScraperAPI, Anda tidak hanya mendapatkan alat, namun juga akses ke banyak dukungan dan sumber daya. ScraperAPI menawarkan dokumentasi komprehensif, tutorial, dan dukungan pelanggan responsif untuk membantu Anda mengatasi segala tantangan yang mungkin Anda hadapi.

Pos terkait

Tinggalkan Komentar