Vai al contenuto
AutoValue
28 agosto 2026 · Data Quality

L'estate in cui il nostro numero di annunci è crollato: diario da dentro il crawler

AutoValue Editorial
L'estate in cui il nostro numero di annunci è crollato: diario da dentro il crawler

Quasi ogni giorno tengo aperta una scheda che mostra solo il conteggio delle fonti. Niente di elaborato — nessun grafico, nessun filtro, solo un numero accanto a ciascuno dei 1.375 siti da cui raccogliamo annunci, e un timestamp dell'ultimo aggiornamento di ciascuno. Nella maggior parte dei giorni è noiosa nel modo in cui l'infrastruttura dovrebbe essere noiosa. Questa estate non lo è stata, e penso che la storia di cosa sia andato storto sia più utile a voi, come persone in cerca di un'auto, della maggior parte dei consigli su "come comprare un'auto usata" che potremmo scrivere al suo posto. Riguarda cosa significhi davvero "dati in tempo reale" quando ciò che li alimenta sono 1.375 siti web separati che non vi devono nulla.

Metà luglio: il numero di cui andavo fiero

A metà luglio avevamo portato il registro delle fonti a 1.190 siti in 73 regioni — il risultato di alcune settimane passate a riconciliare voci duplicate e link morti che stavano silenziosamente gonfiando il nostro stesso conteggio. Ricordo di aver pensato che 1.190 fonti reali e verificate fossero qualcosa di cui andare fieri. Sono tanti siti di concessionari, bacheche di annunci e feed d'asta, ognuno con la propria struttura HTML, i propri limiti di frequenza, la propria opinione su se uno scraper sia un cliente o un attacco.

Poi una campagna di recupero arretrati che stavamo portando avanti — lo smaltimento di una lista d'attesa di 683 fonti rimaste in sospeso per mesi, alcune bloccate, altre semplicemente mai costruite — ha iniziato a dare frutti. Nella seconda metà di luglio, 274 di quelle fonti sono state realizzate e collegate. Alla fine del mese il conteggio funzionante era salito a 1.464. È il tipo di settimana di cui fai lo screenshot.

Inizio agosto: 241 fonti, sparite

Poi arriva il numero che ti rovina la settimana: da un giorno all'altro, 241 fonti sono precipitate in uno stato degradato. Non per colpa nostra — l'account del nostro fornitore di proxy era scaduto sul lato fatturazione, e una fetta enorme del nostro traffico passa attraverso IP a rotazione proprio per evitare di essere bloccati dai siti che limitano gli scraper. Niente proxy, niente pagine fresche, niente annunci nuovi. Le fonti non annunciano di essersi rotte; smettono semplicemente e silenziosamente di restituire dati nuovi, mentre i loro vecchi annunci restano lì a sembrare attuali.

Questa è la parte che non compare nel conteggio annunci di nessun sito auto, incluso il nostro, a meno che non si vada a cercarla apposta: un marketplace "in tempo reale" può avere righe obsolete accanto ad altre fresche e sembrare identico dall'esterno. Abbiamo condizionato i nuovi lanci di crawl a una verifica effettiva dello stato di salute dei proxy, così un pool morto non potesse degradare ulteriormente e silenziosamente la qualità, e abbiamo messo in pausa le parti della pianificazione che avrebbero peggiorato le cose. Non è un lavoro glamour. È il tipo di cosa che, se non ne sentite mai parlare, significa che qualcuno ha fatto il proprio lavoro.

Una parentesi, perché vale la pena dirlo chiaramente: qualsiasi sito che dichiari un numero di annunci fisso e tondo ogni singolo giorno o non è davvero in tempo reale, o non vi sta raccontando settimane come questa.

Il blocco

Il rinnovo dei proxy ha risolto la maggior parte del problema. Quello che non mi aspettavo era che il crawler stesso si bloccasse alcune settimane dopo — un deadlock in fase di teardown, con diciotto thread worker su diciannove fermi in futex_wait, zero CPU consumata, per 75 ore consecutive. Nessun crash, nessun log di errore che urlasse a qualcuno. Solo... niente che accadesse, mentre la dashboard continuava a mostrare l'ultimo passaggio riuscito come se fosse attuale. Su quell'host specifico non avevamo ancora installato un watchdog, che è il tipo di frase che si scrive solo dopo che la cosa che descrive è già successa una volta.

Abbiamo costruito il watchdog. Abbiamo messo in pausa la pianificazione finché il rinnovo dei proxy non è stato confermato stabile, piuttosto che rischiare che un crawl parzialmente degradato sostituisse silenziosamente righe buone con righe cattive — una fonte sottoposta a crawl vede i propri annunci sostituiti, non uniti, quindi un passaggio andato male non si limita a non aggiungere dati: può attivamente cancellare righe buone e rimpiazzarle con altre peggiori. Questa asimmetria è il motivo per cui preferiamo restare fermi con dati obsoleti per un giorno piuttosto che girare in modo degradato.

Dove è atterrato il numero

Ecco il conteggio di oggi, e la forma delle sei settimane che ci hanno portato qui:

Siamo atterrati a 1.375 fonti in 73 regioni, che alimentano 1.108.535 annunci attivi, con 12.823 attualmente segnalati come prezzati sotto la media della loro coorte regionale. Sono circa 90 fonti in meno rispetto al picco di luglio — alcune delle 241 degradate non sono mai tornate del tutto operative, una manciata erano siti che nel frattempo avevano cambiato il proprio atteggiamento anti-bot e necessitavano di essere ricostruiti anziché semplicemente riconnessi. Ne stiamo ancora lavorando alcune.

Cosa vale davvero tutto questo per voi

Niente di tutto questo cambia quale auto dovreste comprare. Ma dovrebbe cambiare il modo in cui leggete qualsiasi numero di "inventario in tempo reale" su qualsiasi sito auto, non solo il nostro. La Francia è in questo momento in cima al nostro conteggio regionale con 67.569 annunci, il Giappone subito dietro con 61.940, e questi numeri si muovono — non perché il mercato dell'usato stesso oscilli così velocemente, ma perché lo fa l'infrastruttura che lo osserva. Un annuncio obsoleto da tre giorni perché una fonte era degradata sembra esattamente identico a uno fresco, a meno che la piattaforma non sia onesta sulla differenza.

Preferiamo raccontarvi del blocco di 75 ore piuttosto che fingere che il nostro numero non vacilli mai. Un dataset che non ammette mai di aver avuto una brutta settimana è un dataset di cui dovreste diffidare di più, non di meno.

Data QualityWEB ScrapingMethodologyTransparencyMarket Data
Condividi

Articoli correlati