Recopilamos reseñas de Play, Yelp y Trustpilot usando Python. Cada plataforma requirió un método diferente:
- Páginas de empresa de Trustpilot : solicitudes + BeautifulSoup con múltiples selectores para modificar el HTML.
- Negocios de Yelp : Selenium con una configuración anti-detección para eludir la sólida protección contra bots.
- Aplicaciones de Play Store: Selenium, combinado con la biblioteca Play Scraper, ofrece resultados rápidos y estructurados.
Cómo extraer reseñas de juegos con Python y Selenium (Google).
Paso 1: Configurar la anti-detección
Google Play continúa ampliando sus medidas de protección contra el spam. Según el informe de seguridad de Android de Google Play, la plataforma bloqueó 160 millones de calificaciones y reseñas de spam e introdujo protecciones adicionales contra el bombardeo de reseñas. 1
Para extraer las reseñas de Play (Google) es necesario ocultar las señales de automatización. El script configura Chrome con las banderas de automatización desactivadas, un agente de usuario personalizado y un tamaño de ventana fijo.
Comience con headless=False para monitorear el navegador y luego cámbielo a True una vez que se haya estabilizado.
Consejo: Las bibliotecas de automatización de navegadores evolucionan rápidamente. Selenium lanzó varias actualizaciones en 2026 (incluidas las versiones 4.40 y posteriores), por lo que fijar versiones compatibles de Selenium, ChromeDriver y Chrome puede evitar fallos en el web scraping causados por las actualizaciones del navegador.
Parte 2: Búsqueda de aplicaciones
Esta función busca en la Play Store aplicaciones que coincidan con tu término de búsqueda y extrae los nombres y las URL de las aplicaciones.
La función crea una URL de búsqueda con &c=apps para filtrar aplicaciones. Buscamos enlaces que contengan /store/apps/details?id= , que es el patrón de URL de Play (Google). El ID de la aplicación proviene de la URL, y el nombre de la aplicación se obtiene de una etiqueta span principal.
Si no se encuentra ningún nombre, se utiliza el ID de la aplicación. El parámetro max_apps controla la cantidad de aplicaciones que se van a rastrear (por defecto: 3, pero se puede ajustar a 5, 10 o más). El parámetro search_term define la categoría, por ejemplo, "compras de segunda mano", "seguimiento de actividad física" o "edición de fotos".
Paso 3: Extracción de reseñas
Esta función navega a una página de la aplicación, hace clic en "Ver todas las reseñas" , se desplaza para cargar más reseñas y extrae los datos de las reseñas de los clientes.
La función hace clic en "Ver todas las reseñas" si está disponible y luego espera a que aparezcan los elementos de la reseña. Si el botón no está presente, recurre al desplazamiento. Las reseñas se recopilan hasta que se alcanza el límite o hasta que no se obtienen nuevos datos tras cinco desplazamientos.
El programa extrae el ID de la reseña, el nombre de usuario, la calificación, la fecha y el texto completo de la reseña , ampliando las reseñas truncadas cuando sea posible.
Selectores CSS:
- .RHo1pe → contenedor de reseñas
- .X5PpBb → nombre de usuario
- .iXRFPc → calificación (etiqueta aria)
- .bp9Aid → fecha
- .h3YV2d → texto de revisión
El parámetro max_reviews controla el número de reseñas (por defecto 20, ajustable a 50, 100 o más).
Paso 4: Uniendo todas las piezas
Estas funciones combinan el flujo de trabajo de búsqueda de aplicaciones y extracción de reseñas de clientes, y luego guardan los resultados en formato CSV.
Ejemplo de ejecución
El flujo de trabajo busca aplicaciones, recopila reseñas y las guarda en un archivo CSV. Cada reseña se etiqueta con el nombre, la ID y la URL de la aplicación. Un retraso de tres segundos entre aplicaciones evita la limitación de velocidad.
Con la configuración predeterminada (3 aplicaciones × 10 reseñas), el script recopila aproximadamente 30 reseñas en 3-4 minutos . El archivo CSV incluye el nombre de la aplicación, la ID, la URL, el nombre de usuario, la calificación, la fecha, el texto de la reseña y la ID de la reseña .
Cómo extraer reseñas de Yelp con Python (sin API)
Paso 1: Configurar la anti-detección
Yelp ha intensificado sus medidas contra las reseñas falsas y generadas por IA. En su último informe de Confianza y Seguridad, Yelp indicó que filtró aproximadamente 500 000 reseñas sospechosas de haber sido generadas por IA y cerró más de un millón de cuentas que infringían las políticas de la plataforma. Por lo tanto, los datos de reseñas de Yelp obtenidos mediante web scraping representan contenido que ya ha superado los filtros de moderación. 2
Cuando intentamos extraer datos de Yelp por primera vez usando Selenium básico, nos encontramos inmediatamente con un CAPTCHA . Yelp detecta señales de automatización, por lo que las configuraciones básicas fallan.
Mediante pruebas, descubrimos que Yelp comprueba propiedades específicas del navegador. Los indicadores de automatización de Chrome y la cadena del agente de usuario también pueden revelar la automatización.
Esta es la configuración que funcionó:
El avance clave fue redefinir la propiedad `navigator.webdriver` . Al modificarla para que devuelva `undefined` , Selenium deja de ser detectado. Combinado con una cadena de agente de usuario personalizada, esto hace que el navegador se comporte más como un usuario real.
Comience con headless=False para supervisar la ejecución. Una vez que se estabilice, cámbielo a True para un rastreo en segundo plano más rápido.
Paso 2: Búsqueda y localización de empresas
Los resultados de búsqueda de Yelp se cargan progresivamente y el HTML utiliza nombres de clase dinámicos que cambian con frecuencia. Esto provoca fallos en los selectores basados en clases exactas.
Nuestros primeros intentos capturaron enlaces irrelevantes como "Ver más reseñas" y "Ver menú" . Se añadió un filtro para seleccionar únicamente enlaces de negocios reales.
Nos desplazamos varias veces, ya que Yelp carga los resultados progresivamente. El programa recopila enlaces que contienen /biz/ , el patrón de URL que utiliza Yelp para las páginas de negocios. El filtrado garantiza que solo se incluyan negocios válidos, mientras que se omiten los duplicados y los nombres de menos de tres caracteres.
El parámetro max_businesses controla la cantidad de resultados que se recopilan. Comience con 3 para realizar pruebas y luego auméntelo una vez que el sistema esté estable.
Paso 3: Extracción de reseñas
El mayor desafío de Yelp es la inestabilidad del HTML. Los selectores CSS estándar a menudo fallaban o devolvían elementos incorrectos.
Al inspeccionar con las herramientas para desarrolladores de Chrome, encontramos reseñas dentro de etiquetas de párrafo con nombres de clase que contienen "comment" . Dentro de estas, las etiquetas span que contienen "raw" albergan el texto real de la reseña. Este patrón se mantiene constante incluso cuando los nombres de clase cambian ligeramente.
Este método utiliza coincidencias parciales con [class*=”comment”] y [class*=”raw”] . Esto hace que la herramienta de web scraping sea más robusta, ya que Yelp cambia con frecuencia los nombres exactos de las clases. El script extrae el texto de la reseña, el nombre del usuario, la calificación y la fecha.
Paso 4: Uniendo todas las piezas
Ahora combinamos todo en un flujo de trabajo que busca empresas, recopila reseñas de productos y guarda los resultados en formato CSV.
Ejemplo de ejecución
Un retraso de dos segundos entre transacciones evita la limitación de velocidad. En las pruebas, dos segundos resultaron fiables, pero puede reducirlo a un segundo para operaciones pequeñas o aumentarlo a 5 segundos para el web scraping a gran escala .
Cada reseña se etiqueta con el nombre de la empresa y la URL antes de guardarse, lo que permite rastrear su origen.
Con la configuración predeterminada de 3 negocios y 10 reseñas cada uno, el script recopila aproximadamente 30 reseñas en 2-3 minutos. Una vez que se estabilice, puede ampliarlo:
- 10 negocios × 20 reseñas cada uno : ~200 reseñas en ~10 minutos
- 20 negocios × 50 reseñas cada uno : ~1000 reseñas en ~15–20 minutos
El archivo CSV incluye columnas para el nombre de la empresa, la URL, el nombre de usuario, la calificación, la fecha y el texto de la reseña. Se puede abrir en Excel o importar a pandas para analizar las opiniones de los clientes.
Cómo extraer reseñas de Trustpilot con Python
Trustpilot utiliza sistemas automatizados para detectar y eliminar reseñas falsas. Según su Centro de Confianza, estos sistemas analizan al autor de la reseña, la empresa y el texto de la misma para detectar reseñas sospechosas o generadas por IA antes de que aparezcan en la plataforma. 3
En 2026, Trustpilot también reforzó su gobernanza con el nombramiento de un Director de Confianza, un cargo responsable de mejorar la confianza en la plataforma, la prevención del fraude y la integridad de las reseñas.
Paso 1: Configuración y búsqueda de empresas
Bibliotecas requeridas
Importamos las bibliotecas necesarias:
- Solicitudes : gestiona las solicitudes HTTP
- BeautifulSoup : analiza el HTML que recibimos
- JSON : guarda los datos en un formato estructurado.
- tiempo : añade retrasos para evitar sobrecargar el servidor.
- Cita de urllib.parse: codifica los términos de búsqueda para las URL.
La función de búsqueda
El término de búsqueda se codifica en URL con quote(). Si se proporciona una ubicación, se agrega como parámetro. Los encabezados personalizados imitan un navegador real para reducir los bloqueos, con una cadena User-Agent que nos identifica como Chrome en Windows.
Realizar la solicitud y analizar los resultados
Enviamos la solicitud con encabezados y analizamos los resultados usando BeautifulSoup. Dado que Trustpilot cambia con frecuencia los nombres de las clases, se definen varios selectores.
Cada selector se dirige a los enlaces que contienen /review/ , que marcan las páginas de las empresas. De cada enlace, extraemos el slug (identificador único en la URL), lo convertimos en un nombre legible y devolvemos las tres primeras empresas encontradas.
Paso 2: Obtención de datos de reseñas de las páginas de la empresa.
Revisar la función de obtención
La función recorre las páginas hasta recopilar el número deseado de reseñas. Cada página se solicita con encabezados para evitar su detección, y la paginación se gestiona incrementando el parámetro de página.
Extracción de tarjetas de revisión
Utilizamos varios selectores porque Trustpilot cambia su diseño con frecuencia. Cada selector apunta a posibles estructuras de tarjetas de reseñas. Si ninguna coincide, dejamos de extraer datos.
Análisis de reseñas individuales
Para cada reseña, extraemos la calificación, el título, el texto de la reseña, la fecha y el nombre de usuario. Los selectores flexibles (con lambda ) hacen que el extractor sea resistente a los cambios de HTML.
Tras procesar cada página, añadimos un retardo de 2 segundos mediante time.sleep(2) . Esto es fundamental para respetar los servidores de Trustpilot y evitar limitaciones de velocidad o bloqueos de IP.
Paso 3: Programa principal y salida
Configuración de la función principal
Esta función principal define el término de búsqueda, la ubicación y el límite de reseñas. La ubicación se puede configurar para cualquier país (por ejemplo, «Alemania») o «Ninguno » para obtener resultados globales. El mecanismo de reserva garantiza la funcionalidad incluso si la búsqueda falla.
Recopilación y almacenamiento de datos
Las reseñas de cada empresa se almacenan en un diccionario con metadatos (URL, número de reseñas). Se añade un retardo de 2 segundos entre reseñas para respetar los servidores de Trustpilot. Finalmente, los resultados se guardan en un archivo JSON con codificación UTF-8.
Mostrando resultados
El script imprime un resumen claro de todas las reseñas. Cada reseña muestra el usuario, la calificación, el título y el texto . El método .get() garantiza que los campos faltantes se establezcan por defecto como ' N/A '. Finalmente, el script confirma el total de reseñas recopiladas y el nombre del archivo JSON.
Reflexiones finales
La extracción de reseñas de Play, Yelp y Trustpilot requirió enfoques diferentes en Python. Cada programa de extracción exportó aproximadamente 30 reseñas por ejecución en formato CSV/JSON, incluyendo nombres de usuario, calificaciones, fechas y texto.
Además de los desafíos técnicos del web scraping, las plataformas de reseñas dependen cada vez más de sistemas de moderación basados en IA, filtros de spam y protecciones contra el bombardeo de reseñas. Estos sistemas pueden eliminar reseñas sospechosas antes de que sean visibles, lo que puede afectar la integridad de los conjuntos de datos recopilados.
Los siguientes puntos de referencia muestran las principales diferencias:
Preguntas frecuentes
La extracción manual de reseñas de productos es lenta e incompleta. La extracción de reseñas de clientes mediante herramientas automatizadas permite obtener cientos o miles de reseñas en cuestión de minutos.
Esto ahorra tiempo y garantiza que el proceso de recopilación de datos capture tanto las reseñas positivas como las negativas.
Las reseñas recopiladas proporcionan información valiosa sobre los clientes para la investigación de mercado. Las empresas pueden hacer un seguimiento de las inquietudes de los clientes, medir su fidelidad y analizar sus preferencias a lo largo del tiempo.
La mayoría de las plataformas de reseñas imponen restricciones a la extracción automatizada de datos. El uso excesivo de programas de extracción de datos web puede provocar CAPTCHA , bloqueos de IP o incluso la prohibición de acceso.
Para reducir los riesgos, utilice un proceso automatizado respetuoso con límites de velocidad, retrasos aleatorios y, si es necesario, representantes de residentes .
Los campos típicos incluyen el texto de las reseñas, las calificaciones con estrellas, los nombres de usuario, las fechas y los metadatos. Algunas configuraciones también registran datos estructurados como la ubicación, la categoría del producto o el tipo de negocio.
Puedes recopilar reseñas de clientes de varios sitios web, incluidas plataformas de comercio electrónico, redes sociales y plataformas populares como Amazon, Walmart, Yelp, Play y Trustpilot.
Sé el primero en comentar
Tu dirección de correo electrónico no será publicada. Todos los campos son obligatorios.