Scarnox · Blog

Fingerprinting del browser spiegato per chi fa scraping

Il fingerprinting del browser è la pratica di identificare un visitatore tramite l'insieme delle caratteristiche del suo browser, non tramite un cookie o un account. I siti lo usano per riconoscere i visitatori che tornano, per individuare frodi e per riconoscere l'automazione. Se fai scraping sul web, prima o poi lo incontrerai. Questa guida spiega cosa viene misurato, perché una sola incongruenza causa problemi e come mantenere un unico profilo coerente e corretto per raccogliere dati pubblici. Spiega anche i limiti di ciò che la regolazione del fingerprint può e deve fare.

Di cosa è fatto un fingerprint

Nessun valore singolo identifica da solo un browser, ma molti piccoli valori insieme spesso ci riescono. Gli input comuni includono:

Gli script di fingerprinting combinano questi valori in un hash o in un punteggio. Più segnali sono stabili e insoliti, più il risultato identifica.

Perché un'incongruenza si nota

Un browser reale è internamente coerente. Il suo sistema operativo corrisponde ai suoi font, il suo fuso orario corrisponde all'impostazione della lingua, e la dimensione dello schermo corrisponde al dispositivo su cui gira. Gli scraper spesso rompono questa coerenza senza volerlo:

Ogni incongruenza è un piccolo segnale. Insieme possono far passare una richiesta da "visitatore normale" a "richiede un controllo più attento".

Passo 1: misura la tua configurazione

Puoi vedere cosa scopre una pagina sul tuo client caricando una pagina di test del fingerprint che controlli tu, o una pagina diagnostica che esegui in locale. Guarda i valori e chiediti se descrivono una macchina coerente. Ecco un esempio minimo con Playwright che ne stampa alcuni:

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")  # sostituisci con una pagina di cui sei proprietario
    print(page.evaluate("""() => ({
        language: navigator.language,
        timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
        platform: navigator.platform,
        viewport: [innerWidth, innerHeight]
    })"""))
    browser.close()

Passo 2: mantieni un'identità per profilo

L'abitudine più utile è trattare ogni identità di scraping come un unico profilo. Assegnagli un insieme di caratteristiche e mantienile per tutta la sua vita:

Cambiare uno di questi valori a ogni richiesta è più sospetto che mantenerlo stabile. La coerenza è ciò che rende un profilo normale.

Passo 3: fai muovere il profilo come un visitatore

Il fingerprinting è solo un input. I siti osservano anche la velocità con cui un profilo si muove nel sito. Un profilo che carica duecento pagine di prodotto in un minuto non è un essere umano, qualunque sia il suo fingerprint. Distribuisci le richieste, metti in cache i risultati e fermati quando una pagina lo indica. La checklist per evitare il blocco durante lo scraping tratta il ritmo in modo più approfondito.

Passo 4: conosci i limiti

La regolazione del fingerprint non può far sembrare un profilo automatizzato una persona che non c'è. I siti che si affidano al fingerprinting di solito lo combinano con limiti di frequenza, controlli sugli account e, a volte, un captcha. Quando compare un captcha, ti serve un token da un solver, non altri ritocchi al fingerprint. Il tipo di captcha attivo su Scarnox è PopularCaptcha; la guida Python a PopularCaptcha mostra la richiesta. Per il quadro più ampio dei widget esistenti, leggi tipi di captcha spiegati.

Soprattutto, l'elusione del fingerprint non è una licenza per ignorare le regole di un sito. Se il proprietario ha limitato l'accesso automatico, la mossa giusta è fermarsi, non rendere il tuo profilo più difficile da notare. Il fingerprinting è anche un tema di privacy. Alcuni siti lo usano per tracciare le persone tra una visita e l'altra, ed è un motivo in più per raccogliere solo ciò che serve al tuo progetto.

Scraping responsabile

Dove andare dopo

Se il tuo obiettivo è protetto da un controllo a livello di browser, inizia con rilevamento dei browser headless, che copre i segnali specifici dei browser automatizzati. Le pagine che richiedono JavaScript per mostrare il loro contenuto sono trattate in scraping di siti JavaScript.

Inizia con crediti di prova gratuiti, senza carta di credito: crea un account e prova il flusso PopularCaptcha su una pagina di cui sei proprietario. Per le tariffe attuali, consulta la pagina dei prezzi.

Prossimi passi