Scarnox · Blog

Browser fingerprinting dijelaskan untuk scraper

Browser fingerprinting adalah praktik mengidentifikasi pengunjung berdasarkan gabungan sifat browser-nya, bukan dengan cookie atau akun. Situs memakainya untuk mengenali pengunjung yang kembali, mendeteksi fraud, dan mengenali automation. Jika Anda melakukan web scraping, Anda pasti akan menemuinya. Panduan ini menjelaskan apa saja yang diukur, mengapa satu ketidakcocokan saja bisa menimbulkan masalah, dan cara menjaga satu profil yang konsisten dan berperilaku baik untuk mengumpulkan data publik. Panduan ini juga menjelaskan batas dari apa yang bisa dan seharusnya dilakukan tuning fingerprint.

Apa saja yang membentuk fingerprint

Tidak ada satu nilai pun yang mengidentifikasi browser sendirian, tetapi banyak nilai kecil yang digabung sering kali bisa. Input umumnya meliputi:

Script fingerprinting menggabungkan semua ini menjadi hash atau skor. Semakin banyak sinyal yang stabil dan tidak biasa, semakin besar kemampuannya untuk mengidentifikasi.

Mengapa ketidakcocokan mencolok

Browser asli itu konsisten secara internal. Sistem operasinya cocok dengan font-nya, zona waktunya cocok dengan pengaturan bahasanya, dan ukuran layarnya cocok dengan perangkat tempat ia berjalan. Scraper sering kali merusak konsistensi itu tanpa disengaja:

Setiap ketidakcocokan adalah sinyal kecil. Bersama-sama, mereka bisa memindahkan request dari "pengunjung biasa" menjadi "perlu diperiksa lebih lanjut".

Langkah 1: ukur setup Anda sendiri

Anda bisa melihat apa yang dipelajari sebuah halaman tentang client Anda dengan memuat halaman uji fingerprint yang Anda kontrol, atau halaman diagnostik yang Anda jalankan secara lokal. Lihat nilainya dan tanyakan apakah nilai-nilai itu menggambarkan satu mesin yang koheren. Berikut contoh Playwright minimal yang mencetak beberapa di antaranya:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context(locale="en-GB", timezone_id="Europe/London")
    page = context.new_page()
    page.goto("https://example.com")  # ganti dengan halaman yang Anda miliki
    print(page.evaluate("""() => ({
        language: navigator.language,
        timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
        platform: navigator.platform,
        viewport: [innerWidth, innerHeight]
    })"""))
    browser.close()

Langkah 2: satu identitas per profil

Kebiasaan yang paling berguna adalah memperlakukan setiap identitas scraping sebagai satu profil. Berikan satu set sifat dan pertahankan selama masa hidupnya:

Mengubah salah satu dari ini untuk setiap request lebih mencurigakan dibanding menjaganya tetap stabil. Konsistensi adalah yang membuat profil terlihat biasa.

Langkah 3: atur ritme profil seperti pengunjung

Fingerprinting hanyalah salah satu input. Situs juga memantau seberapa cepat satu profil bergerak melalui situs. Profil yang memuat dua ratus halaman produk dalam satu menit bukanlah manusia, apa pun fingerprint-nya. Sebarkan request, cache hasilnya, dan berhenti saat halaman menunjukkan Anda harus berhenti. Checklist scrape tanpa diblokir membahas pengaturan ritme lebih detail.

Langkah 4: pahami batasnya

Tuning fingerprint tidak bisa membuat profil automation terlihat seperti orang yang sebenarnya tidak ada di sana. Situs yang mengandalkan fingerprinting biasanya mengombinasikannya dengan rate limit, pemeriksaan akun, dan kadang captcha. Saat captcha muncul, Anda membutuhkan token dari solver, bukan sekadar tweak fingerprint lagi. Tipe captcha yang live di Scarnox adalah PopularCaptcha; panduan PopularCaptcha dengan Python menunjukkan requestnya. Untuk gambaran yang lebih luas tentang widget yang ada, baca jenis-jenis captcha dijelaskan.

Yang lebih penting, menghindari fingerprint bukanlah izin untuk mengabaikan aturan situs. Jika pemilik situs telah membatasi akses otomatis, langkah yang benar adalah berhenti, bukan membuat profil Anda lebih sulit dikenali. Fingerprinting juga merupakan topik privasi. Beberapa situs memakainya untuk melacak orang lintas kunjungan, dan itu adalah alasan lain untuk hanya mengumpulkan apa yang dibutuhkan proyek Anda.

Scraping secara bertanggung jawab

Ke mana melanjutkan

Jika target Anda berada di balik pemeriksaan tingkat browser, mulailah dengan deteksi browser headless, yang membahas sinyal khusus browser automation. Halaman yang membutuhkan JavaScript untuk menampilkan kontennya dibahas dalam scraping situs JavaScript.

Mulai dengan kredit uji coba gratis, tanpa kartu: buat akun dan coba alur PopularCaptcha pada halaman yang Anda miliki. Untuk tarif terkini, lihat halaman harga.

Langkah selanjutnya