Abbiamo estratto recensioni da Play, Yelp e Trustpilot utilizzando Python. Ogni piattaforma richiedeva un metodo diverso:
- Pagine aziendali di Trustpilot : richieste + BeautifulSoup con selettori multipli per la modifica dell'HTML.
- Attività commerciali su Yelp : Selenium con una configurazione anti-rilevamento per aggirare le robuste protezioni anti-bot.
- Google App del Play Store: Selenium, combinato con la libreria Google Play Scraper, offre risultati rapidi e strutturati.
Come estrarre i dati dalle recensioni di Google Play con Python e Selenium
Passaggio 1: Impostazione dell'antirilevamento
Google continua ad ampliare le protezioni antispam su Google Play. Secondo il rapporto sulla sicurezza Android di Google, la piattaforma ha bloccato 160 milioni di valutazioni e recensioni spam e ha introdotto ulteriori protezioni contro il "review bombing". 1
L'estrazione delle recensioni di Play (Google) richiede la disattivazione dei segnali di automazione. Lo script configura Chrome con i flag di automazione disabilitati, un user agent personalizzato e una dimensione fissa della finestra.
Inizia impostando headless=False per monitorare il browser, poi passa a True una volta che il sistema è stabile.
Suggerimento: le librerie di automazione del browser si evolvono rapidamente. Selenium ha rilasciato diversi aggiornamenti nel 2026 (incluse le versioni 4.40 e successive), quindi bloccare le versioni compatibili di Selenium, ChromeDriver e Chrome può prevenire errori di scraping causati dagli aggiornamenti del browser.
Parte 2: Ricerca di app
Questa funzione cerca nel Play Store le app che corrispondono al termine di ricerca inserito ed estrae i nomi e gli URL delle app.
La funzione crea un URL di ricerca con &c=apps per filtrare le app. Cerchiamo i link contenenti /store/apps/details?id= , che corrisponde al modello URL di Play Google. L'ID dell'app proviene dall'URL e il nome dell'app viene estratto da un tag span padre.
Se non viene trovato alcun nome, si ricorre all'ID dell'app. Il parametro max_apps controlla il numero di app da analizzare (predefinito: 3, ma regolabile a 5, 10 o più). Il parametro search_term definisce la categoria, ad esempio "shopping di seconda mano", "monitoraggio fitness" o "fotoritocco".
Fase 3: Estrazione delle recensioni
Questa funzione consente di accedere alla pagina di un'app, fare clic su "Visualizza tutte le recensioni" , scorrere la pagina per caricare ulteriori recensioni ed estrae i dati relativi alle recensioni dei clienti.
La funzione clicca su "Visualizza tutte le recensioni" se disponibile, quindi attende la presenza di elementi relativi alle recensioni. Se il pulsante non è presente, ricorre allo scorrimento. Le recensioni vengono raccolte fino al raggiungimento del limite o fino a quando cinque scorrimenti non restituiscono nuovi dati.
Lo scraper estrae l'ID della recensione, il nome utente, la valutazione, la data e il testo completo della recensione , espandendo, ove possibile, le recensioni troncate.
Selettori CSS:
- .RHo1pe → contenitore di revisione
- .X5PpBb → nome utente
- .iXRFPc → valutazione (etichetta aria)
- .bp9Aid → data
- .h3YV2d → testo della recensione
Il parametro max_reviews controlla il numero di recensioni (valore predefinito 20, regolabile a 50, 100 o più).
Fase 4: Mettere tutto insieme
Queste funzioni combinano il flusso di lavoro di ricerca delle app e di estrazione delle recensioni dei clienti, quindi salvano i risultati in formato CSV.
Esempio di esecuzione
Il flusso di lavoro cerca le app, raccoglie le recensioni e le salva in un file CSV. Ogni recensione è etichettata con il nome dell'app, l'ID e l'URL. Un ritardo di tre secondi tra un'app e l'altra impedisce il superamento della soglia di accesso consentita.
Con le impostazioni predefinite (3 app × 10 recensioni), lo script raccoglie circa 30 recensioni in 3-4 minuti . Il file CSV include il nome dell'app, l'ID, l'URL, il nome utente, la valutazione, la data, il testo della recensione e l'ID della recensione .
Come estrarre recensioni da Yelp con Python (senza API)
Passaggio 1: Impostazione dell'antirilevamento
Yelp ha intensificato i controlli contro le recensioni false e generate dall'intelligenza artificiale. Nel suo ultimo rapporto su Fiducia e Sicurezza, Yelp ha dichiarato di aver filtrato circa 500.000 recensioni sospettate di essere generate dall'IA e di aver chiuso oltre 1 milione di account che violavano le norme della piattaforma. I dati delle recensioni di Yelp estratti automaticamente rappresentano quindi contenuti che hanno già superato i filtri di moderazione. 2
Quando abbiamo provato per la prima volta a estrarre dati da Yelp usando Selenium di base, ci siamo subito imbattuti in un CAPTCHA . Yelp rileva i segnali di automazione, quindi le configurazioni di base non funzionano.
Attraverso dei test, abbiamo scoperto che Yelp controlla specifiche proprietà del browser. Anche i flag di automazione di Chrome e la stringa user-agent possono rivelare l'automazione.
Ecco la configurazione che ha funzionato:
La svolta fondamentale è stata la ridefinizione della proprietà navigator.webdriver . Sovrascrivendola in modo che restituisca undefined , Selenium non viene più rilevato. In combinazione con una stringa user-agent personalizzata, questo fa sì che il browser appaia più simile a un utente reale.
Inizia impostando headless=False per monitorare l'esecuzione. Una volta stabilizzato, passa a True per una scansione in background più veloce.
Fase 2: Ricerca e individuazione delle aziende
I risultati di ricerca di Yelp si caricano progressivamente e l'HTML utilizza nomi di classi dinamici che cambiano frequentemente. Questo causa problemi ai selettori basati su classi esatte.
I nostri primi tentativi includevano link irrilevanti come "Vedi altre recensioni" e "Visualizza menu" . Abbiamo quindi aggiunto un filtro per individuare solo i link aziendali reali.
Scorriamo più volte la pagina poiché Yelp carica i risultati progressivamente. Lo scraper raccoglie i link contenenti /biz/ , il pattern URL di Yelp per le pagine aziendali. Il filtraggio garantisce l'inclusione solo di attività commerciali valide, mentre i duplicati e i nomi più corti di tre caratteri vengono ignorati.
Il parametro max_businesses controlla quanti risultati vengono estratti. Inizia con 3 per i test, poi aumentalo una volta che il valore è stabile.
Fase 3: Estrazione delle recensioni
La sfida più grande per Yelp è l'instabilità dell'HTML. I selettori CSS standard spesso non funzionavano o restituivano elementi errati.
Analizzando il codice con gli Strumenti per sviluppatori di Chrome, abbiamo trovato recensioni all'interno di tag di paragrafo con nomi di classe contenenti "comment" . All'interno di questi tag, i tag span contenenti "raw" racchiudono il testo effettivo della recensione. Questo schema rimane invariato anche in caso di lievi modifiche ai nomi delle classi.
Questo approccio utilizza la corrispondenza parziale con [class*=”comment”] e [class*=”raw”] . Ciò rende lo strumento di web scraping più robusto, poiché Yelp cambia frequentemente i nomi esatti delle classi. Lo script estrae il testo della recensione, il nome utente, la valutazione e la data.
Fase 4: Mettere tutto insieme
Ora integriamo tutto in un flusso di lavoro che cerca le aziende, estrae le recensioni dei prodotti e salva i risultati in formato CSV.
Esempio di esecuzione
Un ritardo di due secondi tra le attività impedisce la limitazione della frequenza delle richieste. Nei test, due secondi si sono dimostrati affidabili, ma è possibile ridurlo a un secondo per piccole quantità di dati o aumentarlo a 5 secondi per lo scraping su larga scala .
Ogni recensione viene contrassegnata con il nome dell'attività commerciale e l'URL prima di essere salvata, consentendo di risalire alla fonte.
Con le impostazioni predefinite di 3 attività commerciali e 10 recensioni ciascuna, lo script raccoglie circa 30 recensioni in 2-3 minuti. Una volta stabilizzato, è possibile aumentare il numero di attività:
- 10 attività commerciali × 20 recensioni ciascuna : circa 200 recensioni in circa 10 minuti
- 20 attività commerciali × 50 recensioni ciascuna : circa 1000 recensioni in circa 15-20 minuti
Il file CSV include colonne per nome dell'azienda, URL, nome utente, valutazione, data e testo della recensione. Può essere aperto in Excel o importato in pandas per analizzare il feedback dei clienti.
Come estrarre recensioni da Trustpilot con Python
Trustpilot utilizza sistemi automatizzati per individuare e rimuovere le recensioni false. Secondo il suo Trust Centre, questi sistemi analizzano l'autore della recensione, l'azienda e il testo della recensione per rilevare recensioni sospette o generate dall'intelligenza artificiale prima che vengano pubblicate sulla piattaforma. 3
Nel 2026, Trustpilot ha inoltre rafforzato la propria governance nominando un Chief Trust Officer, una figura responsabile del miglioramento dell'affidabilità della piattaforma, della prevenzione delle frodi e dell'integrità delle recensioni.
Passaggio 1: Impostazione e ricerca delle aziende
Librerie necessarie
Importiamo le librerie necessarie:
- Richieste : gestisce le richieste HTTP
- BeautifulSoup : analizza l'HTML che riceviamo
- JSON : salva i dati in un formato strutturato
- tempo : aggiunge ritardi per evitare di sovraccaricare il server
- citazione da urllib.parse: codifica i termini di ricerca per gli URL
La funzione di ricerca
Il termine di ricerca viene codificato in URL con virgolette(). Se viene fornito un indirizzo, questo viene aggiunto come parametro. Le intestazioni personalizzate simulano un browser reale per ridurre i blocchi, con una stringa User-Agent che ci identifica come Chrome su Windows.
Effettuare la richiesta e analizzare i risultati
Inviamo la richiesta con le intestazioni e analizziamo i risultati utilizzando BeautifulSoup. Poiché Trustpilot cambia spesso i nomi delle classi, sono definiti più selettori.
Ogni selettore individua i link con /review/ , che contrassegnano le pagine aziendali. Da ogni link, estraiamo lo slug (identificativo univoco nell'URL), lo ripuliamo in un nome leggibile e restituiamo le prime tre aziende trovate.
Passaggio 2: Recupero dei dati delle recensioni dalle pagine aziendali
Esamina la funzione di recupero
La funzione scorre le pagine fino a quando non viene raccolto il numero desiderato di recensioni. Ogni pagina viene richiesta con le intestazioni per evitare il rilevamento e la paginazione viene gestita incrementando il parametro della pagina.
Estrazione delle schede di recensione
Utilizziamo diversi selettori perché Trustpilot modifica frequentemente il suo design. Ogni selettore si concentra su possibili strutture di schede di recensione. Se nessuno corrisponde, interrompiamo lo scraping.
Analisi delle singole recensioni
Per ogni recensione, estraiamo la valutazione, il titolo, il testo della recensione, la data e il nome utente. I selettori flessibili (con lambda ) rendono lo scraper resistente alle modifiche HTML.
Dopo aver elaborato ogni pagina, aggiungiamo un ritardo di 2 secondi utilizzando time.sleep(2) . Questo è fondamentale per rispettare i server di Trustpilot ed evitare limitazioni di frequenza o blocchi IP.
Fase 3: Programma principale e output
Impostazione della funzione principale
Questa funzione principale definisce il termine di ricerca, la posizione e il limite di visualizzazione. La posizione può essere impostata su qualsiasi paese (ad esempio, "Germania") o su Nessuno per risultati globali. Il meccanismo di fallback garantisce il funzionamento anche in caso di errore della ricerca.
Raccolta e salvataggio dei dati
Le recensioni di ciascuna azienda vengono memorizzate in un dizionario con metadati (URL, numero di recensioni). Viene aggiunto un ritardo di 2 secondi tra le recensioni delle aziende per rispettare i server di Trustpilot. Infine, i risultati vengono salvati in un file JSON con codifica UTF-8.
Visualizzazione dei risultati
Lo script stampa un riepilogo chiaro di tutte le recensioni. Ogni recensione mostra l' utente, la valutazione, il titolo e il testo . Il metodo .get() garantisce che i campi mancanti vengano impostati automaticamente su ' N/D '. Infine, lo script conferma il numero totale di recensioni raccolte e il nome del file JSON.
Considerazioni finali
L'estrazione delle recensioni da Play, Yelp e Trustpilot ha richiesto approcci diversi in Python. Ogni scraper ha esportato circa 30 recensioni per esecuzione in formato CSV/JSON, inclusi nomi utente, valutazioni, date e testo.
Oltre alle difficoltà tecniche legate allo scraping, le piattaforme di recensioni si affidano sempre più a sistemi di moderazione basati sull'intelligenza artificiale, filtri antispam e protezioni contro il "review bombing". Questi sistemi possono rimuovere le recensioni sospette prima che diventino visibili, compromettendo la completezza dei set di dati raccolti.
I parametri di riferimento riportati di seguito mostrano le principali differenze:
FAQ
L'estrazione manuale delle recensioni dei prodotti è lenta e incompleta. L'utilizzo di strumenti automatizzati per l'estrazione delle recensioni dei clienti consente di raccogliere centinaia o migliaia di recensioni in pochi minuti.
Questo consente di risparmiare tempo e garantisce che il processo di raccolta dati includa sia le recensioni positive che quelle negative.
Le recensioni raccolte tramite scraping forniscono preziose informazioni sui clienti per le ricerche di mercato. Le aziende possono monitorare le problematiche dei clienti, misurare la loro fedeltà e analizzare le loro preferenze nel tempo.
La maggior parte delle piattaforme di recensione impone restrizioni all'estrazione automatizzata dei dati. L'utilizzo eccessivo di web scraper può attivare CAPTCHA , blocchi IP o ban.
Per ridurre i rischi, utilizzare un processo automatizzato rispettoso con limiti di frequenza, ritardi casuali e proxy residenziali , se necessario.
I campi tipici includono il testo delle recensioni, le valutazioni in stelle, i nomi utente, le date e i metadati. Alcune configurazioni tengono traccia anche di dati strutturati come la posizione geografica, la categoria di prodotto o il tipo di attività commerciale.
È possibile raccogliere recensioni dei clienti da vari siti web, tra cui piattaforme di e-commerce, social network e piattaforme popolari come Amazon, Walmart, Yelp, Play e Trustpilot.
Sii il primo a commentare
Il tuo indirizzo email non verrà pubblicato. Tutti i campi sono obbligatori.