Torna al blog

Parsing di forum e bacheche: come raccogliere dati senza blocchi tramite proxy

Guida completa alla raccolta di dati da forum e bacheche: come scegliere un proxy, configurare la rotazione e evitare blocchi durante il parsing di Avito, forum.ru e altre piattaforme.

📅7 marzo 2026
```html

La raccolta di dati da forum e bacheche di annunci è un compito critico per marketer, analisti di mercato e imprenditori. Il parsing di Avito per monitorare i prezzi dei concorrenti, raccogliere contatti da forum di settore, analizzare le recensioni su piattaforme specializzate: tutte queste attività si scontrano con un problema comune: i siti bloccano attivamente la raccolta automatica di dati. In questo articolo vedremo come configurare un parsing stabile tramite proxy ed evitare i ban.

Perché i forum e le bacheche di annunci bloccano il parsing

I proprietari delle piattaforme proteggono i propri dati per diverse ragioni. In primo luogo, il parsing massivo crea un carico sui server: un parser può generare migliaia di richieste all'ora, il che equivale a visitare il sito da centinaia di utenti contemporaneamente. In secondo luogo, i dati raccolti vengono spesso utilizzati dai concorrenti: i prezzi di Avito finiscono nei sistemi di monitoraggio, i contatti dai forum nelle basi per vendite a freddo.

I moderni sistemi di protezione analizzano numerosi parametri: la frequenza delle richieste da un singolo IP, i modelli di comportamento (il parser apre le pagine troppo rapidamente e in modo sequenziale), le intestazioni del browser, la presenza di JavaScript. Ad esempio, Avito utilizza una protezione multilivello: verifica dell'User-Agent, analisi dei cookie, fingerprinting del browser, captcha in caso di attività sospetta.

Segnali tipici che possono portare alla vostra identificazione:

  • Un solo indirizzo IP — se tutte le richieste provengono da un solo IP, si tratta di un ban immediato
  • Alta frequenza di richieste — un utente normale non può aprire 10 pagine al secondo
  • Assenza di cookie e JavaScript — script semplici non eseguono JS e non salvano cookie
  • User-Agent sospetto — versioni obsolete dei browser o intestazioni non corrispondenti
  • Accesso sequenziale alle pagine — parsing rigorosamente in ordine (pagina 1, 2, 3...) appare innaturale

Quali proxy sono adatti per il parsing dei forum

La scelta del tipo di proxy dipende dal volume di dati, dal budget e dal livello di protezione del sito target. Consideriamo tre opzioni principali e il loro utilizzo per il parsing.

Tipo di proxy Velocità Affidabilità dei siti Migliore per
Proxy di data center Molto alta (100+ Mbit/s) Bassa (facilmente identificabili) Piccoli forum senza protezione, parsing di archivi
Proxy residenziali Media (10-50 Mbit/s) Alta (IP reali di reti domestiche) Avito, grandi forum, siti con protezione
Proxy mobili Media (5-30 Mbit/s) Massimo (IP di operatori mobili) Piattaforme con protezione rigida, raccolta di contatti

Proxy di data center — l'opzione più economica, adatta per compiti semplici. Se devi fare parsing di un piccolo forum tematico o di una bacheca di annunci senza protezione seria, questo sarà sufficiente. La velocità consente di elaborare decine di migliaia di pagine all'ora. Ma Avito, YouDo, forum.ru e altre grandi piattaforme identificheranno rapidamente tali IP e li bloccheranno.

Proxy residenziali — il miglior equilibrio tra prezzo e qualità per la maggior parte dei compiti. Si tratta di IP reali di utenti domestici, che i siti non possono distinguere dai visitatori normali. Per il parsing di Avito, Yandex.Services, grandi forum, questa è la scelta standard. Un punto importante: i proxy residenziali di solito vengono venduti con pagamento per traffico, quindi ottimizza le richieste — non caricare immagini e script superflui.

Proxy mobili — massima affidabilità per casi complessi. Gli IP degli operatori mobili (MTS, Beeline, MegaFon) hanno il massimo livello di fiducia, poiché dietro un singolo IP possono esserci migliaia di utenti reali (tecnologia CGNAT). Utilizzali per piattaforme con protezione rigida o quando è necessario raccogliere dati critici senza rischio di ban.

Parsing di Avito: caratteristiche e configurazione

Avito è una delle piattaforme più protette del Runet. Il sistema anti-parsing include la verifica di JavaScript, il fingerprinting del browser, l'analisi del comportamento, captcha al minimo sospetto. Uno script semplice con requests non funzionerà: riceverai una pagina vuota o un captcha già alla terza richiesta.

Cosa serve per un parsing stabile di Avito:

Componenti obbligatori:
1. Proxy residenziali o mobili con rotazione ogni 5-10 minuti
2. Browser headless (Selenium, Puppeteer, Playwright) per eseguire JavaScript
3. Intestazioni del browser realistiche e User-Agent della versione attuale di Chrome
4. Ritardi tra le richieste: 3-7 secondi per pagina
5. Salvataggio dei cookie tra le sessioni

Un compito tipico è il monitoraggio dei prezzi dei concorrenti. Devi raccogliere ogni giorno gli annunci nella tua categoria e monitorare le modifiche. Per una categoria con 500-1000 annunci, saranno necessarie circa 50-100 richieste (tenendo conto della paginazione e delle schede dei prodotti). Con una configurazione corretta, questo richiederà 10-15 minuti e 1-2 GB di traffico di proxy residenziali.

Configurazione passo-passo del parser per Avito:

  1. Ottieni proxy — ordina un pool di IP residenziali con rotazione. Per il monitoraggio quotidiano di una categoria, bastano 10-20 GB di traffico al mese.
  2. Configura il browser headless — utilizza Selenium o Puppeteer. Importante: attiva la modalità headless, ma aggiungi parametri per bypassare il rilevamento (window.navigator.webdriver = false).
  3. Configura i proxy nel browser — passa i dati del proxy all'avvio del browser. Per Selenium, si tratta dei parametri --proxy-server, per Puppeteer — args in puppeteer.launch().
  4. Aggiungi comportamenti realistici — ritardi casuali di 3-7 secondi, scroll della pagina prima di raccogliere i dati, movimento del mouse (per Selenium).
  5. Salva i cookie — dopo la prima visita, salva i cookie e utilizzali nelle sessioni successive. Questo riduce la sospettosità.
  6. Cambia IP regolarmente — rotazione ogni 5-10 minuti o ogni 20-30 richieste. Non utilizzare un solo IP per tutto il parsing.

Un errore critico dei principianti è fare parsing troppo rapidamente. Anche con i proxy, se apri le pagine ogni secondo, il sistema identificherà il bot in base al modello di comportamento. Un utente normale legge un annuncio per 10-30 secondi, scorre verso il basso, torna alla ricerca. Il tuo parser deve imitare questo: ritardi, scroll, a volte passare a categorie vicine.

Raccolta di dati dai forum: strategie e strumenti

I forum variano per livello di protezione. I vecchi forum su phpBB o vBulletin di solito non hanno una protezione anti-bot seria: bastano i proxy di data center e un parser semplice. Le piattaforme moderne (forum.ru, forum di settore specializzati) utilizzano Cloudflare o i propri sistemi di protezione.

Compiti tipici del parsing dei forum:

  • Raccolta di contatti — email, telefoni, Telegram da firme e messaggi degli utenti
  • Monitoraggio delle menzioni del marchio — tracciamento delle recensioni sulla tua azienda o sui concorrenti
  • Analisi dei sentimenti — raccolta di opinioni su prodotti, servizi, tendenze nel settore
  • Ricerca di lead — persone che cercano una soluzione al tuo problema (ad esempio, nei forum di costruzione cercano appaltatori)

Per piccoli forum (fino a 10.000 pagine) vanno bene strumenti pronti all'uso: Octoparse, ParseHub, WebHarvy. Hanno un'interfaccia visiva: basta cliccare sugli elementi da raccogliere e lo strumento crea il parser. Nelle impostazioni, indichi i proxy, i ritardi e avvia la raccolta.

Per progetti più grandi (centinaia di migliaia di pagine) è necessario un parser personalizzato. Framework popolari: Scrapy (Python), Puppeteer (JavaScript), Playwright (supporto per tutti i linguaggi). Consentono di configurare in modo flessibile la logica di scansione, la gestione degli errori, il parsing distribuito tramite un pool di proxy.

Esempio di strategia per il parsing di un forum di settore:

Compito: raccogliere contatti di specialisti da un forum di costruzione (50.000 utenti, 500.000 messaggi).

1. Utilizziamo proxy residenziali con un pool di 50-100 IP
2. Facciamo parsing dell'elenco utenti (50.000 profili) a una velocità di 500 profili/ora (ritardo di 7 secondi)
3. Cambiamo IP ogni 100 profili (ogni 12 minuti)
4. Estraiamo email, sito, firma con contatti dai profili
5. Tempo totale: 100 ore (4 giorni di lavoro continuo)
6. Traffico: circa 20-30 GB di proxy residenziali

Un punto importante: molti forum richiedono registrazione per visualizzare contatti o sezioni nascoste. Crea alcuni account in anticipo (manualmente, da IP diversi), mantienili attivi per 1-2 settimane, fai alcuni messaggi. Utilizza questi account per il parsing: un utente autorizzato suscita meno sospetti.

Rotazione IP e gestione delle sessioni

Una corretta rotazione degli IP è la chiave per un parsing stabile a lungo termine. Ci sono due approcci principali: rotazione temporale e rotazione per numero di richieste.

Rotazione temporale: cambi gli IP ogni N minuti. Adatta per compiti in cui è importante la prevedibilità. Ad esempio, fai parsing di Avito ogni 5 minuti cambiando IP — così garantisci di non superare il limite di richieste da un singolo indirizzo. Svantaggio: se il parser si blocca o rallenta, perdi IP inutilmente.

Rotazione per richieste: cambi gli IP ogni N richieste (ad esempio, ogni 20-50 pagine). Maggiore efficienza nell'uso dei proxy, ma richiede un conteggio preciso. Se il sito limita a 100 richieste da un IP all'ora, imposta la rotazione su 80 richieste — lasci un margine per gli errori.

Piattaforma Rotazione consigliata Ritardo tra le richieste
Avito Ogni 5-10 minuti o 20-30 richieste 3-7 secondi
YouDo, Profi.ru Ogni 10-15 minuti o 40-50 richieste 4-8 secondi
Forum con Cloudflare Ogni 15-20 minuti o 60-80 richieste 5-10 secondi
Forum semplici (phpBB, vBulletin) Ogni 30-60 minuti o 200-300 richieste 2-5 secondi

Gestione delle sessioni: quando cambi IP, decidi se resettare la sessione (cookie, localStorage) o mantenerla. Per il parsing autorizzato (forum, aree personali) mantieni la sessione, ma cambia IP meno frequentemente — altrimenti il sito sospetterà che l'account sia stato compromesso (accessi da città diverse). Per dati pubblici (Avito senza autorizzazione) resettare tutto al cambio di IP — ogni IP appare come un nuovo utente.

Una tecnica avanzata sono le sticky sessions (sessioni sticky). Alcuni fornitori di proxy consentono di "fissare" un IP per 10-30 minuti. Ottieni un IP, fai tutte le richieste da esso nell'ambito di un compito logico (ad esempio, parsing di una categoria di Avito), poi cambia a un nuovo IP per la categoria successiva. Questo è più naturale che cambiare IP a metà della navigazione.

Configurazione di parser popolari per proxy

Consideriamo la configurazione dei proxy in strumenti popolari per il parsing. Esempi per specialisti tecnici che scrivono i propri parser.

Scrapy (Python): aggiungi middleware per la rotazione dei proxy. Crea un elenco di proxy in settings.py e utilizza il middleware RandomProxy per la rotazione automatica ad ogni richiesta.

# settings.py
ROTATING_PROXY_LIST = [
    'http://user:pass@proxy1.example.com:8000',
    'http://user:pass@proxy2.example.com:8000',
    'http://user:pass@proxy3.example.com:8000',
]

DOWNLOADER_MIDDLEWARES = {
    'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
    'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}

Puppeteer (JavaScript): passa i proxy all'avvio del browser. Per la rotazione, crea un pool di proxy e scegli casualmente ad ogni nuovo avvio del browser.

const puppeteer = require('puppeteer');

const proxyList = [
  'proxy1.example.com:8000',
  'proxy2.example.com:8000'
];

const proxy = proxyList[Math.floor(Math.random() * proxyList.length)];

const browser = await puppeteer.launch({
  args: [
    `--proxy-server=${proxy}`,
    '--no-sandbox'
  ]
});

// Autenticazione del proxy
const page = await browser.newPage();
await page.authenticate({
  username: 'user',
  password: 'pass'
});

Selenium (Python): configura i proxy tramite le opzioni di Chrome. Per l'autenticazione HTTP, utilizza un'estensione o passa le credenziali nell'URL.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--proxy-server=http://user:pass@proxy.example.com:8000')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-blink-features=AutomationControlled')

driver = webdriver.Chrome(options=chrome_options)
driver.get('https://www.avito.ru/moskva/kvartiry')

Parser pronti all'uso (Octoparse, ParseHub): nelle impostazioni del compito, trova la sezione "Proxy" o "Rotazione IP". Aggiungi un elenco di proxy nel formato host:port:user:pass o specifica l'URL API per la rotazione. Attiva l'opzione "Ruota ad ogni richiesta" o "Ruota ogni N minuti".

Tecniche per bypassare la protezione anti-bot

I proxy risolvono il problema del blocco per IP, ma i moderni sistemi di protezione analizzano decine di altri parametri. Ecco un insieme di misure per bypassare i sistemi anti-bot.

1. User-Agent e intestazioni realistiche: utilizza versioni attuali dei browser. Non impostare User-Agent da Chrome 90 se ora è uscito Chrome 120. Controlla la corrispondenza delle intestazioni: se l'User-Agent dice "Windows", ma l'intestazione sec-ch-ua-platform dice "Linux" — verrai identificato.

# Buon set di intestazioni per il 2024
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
    'Accept-Encoding': 'gzip, deflate, br',
    'DNT': '1',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1'
}

2. Bypass del rilevamento dei browser headless: Selenium e Puppeteer hanno di default segni di automazione (proprietà navigator.webdriver = true). Utilizza plugin stealth o patch per nascondere questi segni.

// Puppeteer Stealth Plugin
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());

const browser = await puppeteer.launch({headless: true});

3. Fingerprinting JavaScript: i siti raccolgono il fingerprint del browser (canvas fingerprint, WebGL, font, risoluzione dello schermo). Per bypassare, utilizza la randomizzazione di questi parametri o profili browser reali. Strumenti: FingerprintJS Randomizer, Multilogin (piattaforma con profili pronti).

4. Gestione dei captcha: se il captcha appare, utilizza servizi di riconoscimento: 2Captcha, Anti-Captcha, CapMonster. Costano $1-3 per 1000 captcha. L'integrazione tramite API richiede 10-15 minuti. Per reCAPTCHA v2/v3 ci sono librerie pronte.

5. Modelli comportamentali: aggiungi casualità nelle azioni. Non aprire pagine rigorosamente ogni 5 secondi — varia da 3 a 8 secondi. A volte fai pause di 30-60 secondi, simulando la lettura di una pagina lunga. Nei forum, a volte visita i profili degli utenti, non solo raccogli temi.

Importante: Più complessa è la protezione del sito, più lentamente deve funzionare il parser. Per Avito, è ottimale 500-1000 pagine all'ora da un singolo thread. Se hai bisogno di più — avvia più parser paralleli con pool di proxy diversi, ma ognuno deve funzionare lentamente e naturalmente.

Conclusione

Il parsing di forum e bacheche di annunci è un compito che richiede un approccio complessivo. I proxy risolvono il problema del blocco per IP, ma per un funzionamento stabile sono necessarie intestazioni corrette, comportamenti realistici, bypass del fingerprinting e una rotazione intelligente. La scelta del tipo di proxy dipende dal livello di protezione del sito target: per forum semplici bastano i data center, per Avito e grandi piattaforme servono IP residenziali o mobili.

I principi chiave per un parsing di successo: lentamente e naturalmente, rotazione regolare degli IP, utilizzo di browser headless per siti complessi, gestione dei captcha se necessario. Non inseguire la velocità — è meglio raccogliere 500 pagine all'ora in modo stabile per mesi, piuttosto che 5000 all'ora e ricevere un ban dopo due giorni.

Se prevedi di fare parsing di Avito, YouDo, grandi forum o piattaforme con protezione seria, ti consigliamo di utilizzare proxy residenziali — offrono il miglior equilibrio tra affidabilità e costo. Per piattaforme particolarmente protette o per raccogliere dati critici, i proxy mobili con il massimo livello di fiducia sono la scelta migliore.

```