2026-09-15 — SPAB: evaluación de capas Apify de reseñas/comentarios y su lugar en el state-factbook
Proyecto: ~/nef/estado_turismo/spab-retrieval. Continúa 2026-09-14-spab-retrieval-huecos.md
y la decisión de usar el state-factbook como fuente de decisiones (Q. Roo).
1. El hueco que estos actores pueden cerrar
googleplaces.ts pide rating,userRatingCount,reviews (5 reseñas máx., elegidas por
Google). Todo lo que se deriva de reseñas —menciones_caro, rating, reviews_conteo—
corre sobre una muestra chica y sesgada (README ya lo declara: “pesa 1.5 y no 10 porque
corre sobre muestra chica”). Un scraper de reseñas Go ogle Maps elimina ese techo: misma
población (reseñas públicas del lugar), muestra grande → la métrica NO cambia de
significado, solo gana profundidad. Eso pasa el test anti-basura del esquema.
2. Evaluación de las capas propuestas (verificado en vivo, 2026-09-15)
| Actor | Qué hace | Costo | Madurez | Veredicto |
|---|---|---|---|---|
scrapesmith/google-maps-reviews-scraper | Reseñas Maps completas: texto, rating, fechas ISO, idioma, autor, likes, reply del dueño, 25+ campos. API/MCP/scheduling | $0.50/1k | 372 users, 98–100% runs ok | ADOPTAR — capa principal |
memo23/google-maps-reviews-scraper | Idem, + filtros de idioma/fecha/estrellas, búsqueda por texto, modo GDPR | $0.25/1k (el más barato) | 227 users, 90% ok | ADOPTAR (alterno) — respaldo/barato |
tri_angle/hotel-review-aggregator (y h_reviews) | Agrega 7 plataformas normalizando a un rating | — | 587+ users, 99% ok | Usar solo por plataforma; NUNCA mezclado (anti-basura) |
antsarlabs/hotel-review-aggregator | Google Travel + TripAdvisor, REST/MCP | $0.003/req | 1 user, 0 runs ok | RECHAZAR — inmaduro |
cloud9_ai/trustpilot-scraper | Reviews Trustpilot | — | — | RECHAZAR — Trustpilot no cubre hoteles MX |
dainty_screw/ultimate-google-play-review-extractor | Reviews de apps de Google Play | — | — | RECHAZAR — sin señal turística |
reviewbot/universal-review-scraper | Scraper genérico multi-plataforma | — | — | RECHAZAR — genérico sin profundidad |
| `scrapeforge | scrapestorm/tiktok-comments-*` | Comentarios TikTok | — | — |
3. Por qué NO TikTok (por ahora)
- Duplica la intención del corpus de YouTube (voz social) sin añadir estructura de lugar;
el corpus ya existe (
data/corpus/*.jsonl). - Comentarios sueltos sin contexto de lugar = ruido; extraer señal requiere etiquetado.
- ToS de TikTok es agresiva y los actores mueren a menudo (“se rompe en silencio”).
- Datos personales de menores y de terceros → GDPR/CCPA sin ningún análisis que lo justifique.
4. Lucimiento de ariete: el caso scraper-engine/google-maps-scraper
No venía en la lista pero merece mención: audita cobertura (claimed vs collected), corre
sobre proxy residencial EE.UU., trae toggle personalData:false y una sección legal seria.
Es la opción “cómoda para un entregable institucional”: si el índice se va a mostrar a
autoridades, esta es la capa defendible. Mayor calidad, más cara y más pesada de correr.
5. Cómo entra al pipeline (sin romper nada)
- Modo archivo, no dependencia viva: corrida mensual del actor → depósito en
data/raw/reviews_google_<slug>.jsonl(patrón SESNSP/DataTur, no exponer el pipeline a la fragilidad de actores comunitarios). - Cada reseña = una
Observacion? NO. El corpus se deposita ymenciones_caro/rating/reviews_conteose recalculan con n real sobre él. El esquema no cambia (mismo nombre de métrica, misma unidad, mayor n). personalData:falsesalvo consentimiento; retener solo texto + fecha + rating → elny elperiodode cada Observación quedan honestos.- Costo: ~10k reseñas/corrida ≈ **170+ de Places API).
6. Qué alimenta en cada arista del factbook
- Índice / burbuja:
menciones_caro,rating,reviews_conteocon n real por destino → subeconfianzade forma capturable. - Estado-factbook Q. Roo: sección “voz del visitante” (léxico de sobreprecio, temas de queja recurrente), la que el índice no narra.
- Rama rutas-culturales: reseñas de sitios arqueológicos (Cobá, La Venta…) corren tal cual — el conector sirve para cualquier Destino con lat/lon.
7. Próximo paso (si se decide)
- Crear cuenta Apify (o reutilizar la gratis), correr
scrapesmithymemo23sobre Tulum (3 GIROS) y comparar salida/costo/duplicados en vivo. - Escribir
scripts/reviews_desde_apify.py+ plantilladata/plantillas/reviews.csv. - Recalcular
menciones_carocontra el corpus y comparar vs. el valor Places n=5. - Decidir entre Scrapesmith y scraper-engine según a quién se enseña el resultado.