Lesson completed!
-

Leccion 13 / 21 · App 1: Competitor Tracker

El Stack de Scraping

Max Techera
Siguiente

El Stack de Scraping

El tracker necesita data entrando. Esta es la parte por la que la gente paga de más — hay toda una góndola de productos de $20–100/mes que, por debajo, son un scraper más una división. Vos vas a reconstruir la mitad del scraper por $0–47/mes.

Podés dejar el scraping adentro de track.py, o separarlo en su propio archivo resiliente. Separarlo es más limpio: el único trabajo del scraper es traer posts y escribirlos, así el tracker los lee sin importarle cómo llegaron.

El prompt del scraper

Pegá esto en Claude Code, tal cual está escrito:

Write `scrape.py` that pulls the last N posts for a list of social accounts and
writes normalized JSONL (one object per post: platform, account, id, url, caption,
posted_at, views, likes, comments, shares, saves).
- YouTube + TikTok: shell out to yt-dlp with --dump-json --flat-playlist for listing,
  then hydrate view_count per video. Parse the JSON, don't screen-scrape HTML.
- Instagram: call the ScrapeCreators reels endpoint (or Apify apidojo/instagram-scraper).
- Be polite: rate-limit to 1 req/sec, retry with exponential backoff on 429/5xx,
  and cache raw responses to ./cache/ so re-runs cost 0 API credits.
- Idempotent: skip ids already in output.jsonl.
Print a summary: accounts scraped, new posts, API credits used.

Tres detalles lo hacen barato y durable: cache a ./cache/ así las re-corridas no cuestan nada, saltear ids ya guardados así es idempotente, y 1 req/seg con backoff así no te rate-limitean ni te banean.

Las herramientas

Cada plataforma tiene una fuente, y ninguna requiere pagar $100/mes:

  • yt-dlp — gratis, sin API key. La forma más confiable de traer metadata de YouTube/TikTok (y 1.000+ sitios más). --dump-json te da conteo de vistas, likes, fecha de subida, canal, y más. --flat-playlist lista un canal rápido, y después hidratás las vistas que te importan. Parseá el JSON — nunca screen-scrapees HTML.
  • ScrapeCreators — una API, 35+ plataformas. Para reels de Instagram (y TikTok, YouTube, más). Tier gratis: 100 credits que nunca expiran, sin tarjeta. $47/mes te da 25.000 credits. 1 request = 1 credit.
  • Apify — pay-per-result. El actor apidojo/instagram-scraper sale $0,30–0,50 por 1.000 posts. Plan gratis, sin tarjeta. Bueno cuando scrapeás mucho IG de una.
  • business_discovery — una llamada a Meta por creador devuelve followers + posts recientes. Gratis, público.
  • El endpoint media-info — el endpoint de Instagram para plays y handle públicos. Gratis, y es lo que te da el conteo de vistas para el score sin acceso de owner.

El costo, y qué estás reemplazando

Dato:

Total para arrancar: $0–47/mes. yt-dlp (gratis) + ScrapeCreators (tier gratis o $47) o Apify ($0,30–0,50/1k) + endpoints públicos gratis. Compará eso con los productos que esto reemplaza, todos de $20–100/mes:

Reemplaza: OutlierKit1of10vidIQVirloViralFindr→ $0–47/mes

Cada uno de esos es un wrapper alrededor de (a) un scraper y (b) vistas ÷ mediana. Eso es todo. Construiste la mediana en la lección 1, el tracker en la lección 2, y el scraper acá — así que sos dueño de todo, tuneado a tu nicho, por el precio de una suscripción de café.

Atención:

Scrapeá con educación. 1 request por segundo, exponential backoff en errores 429/5xx, y cacheá todo. Esto no es solo por el costo — martillar un endpoint te rate-limitea o te bloquea, lo que mata tu feed de data. Lento y cacheado le gana a rápido y baneado.

Knowledge check

¿Cuál es la opción gratis para traer metadata de YouTube y TikTok sin API key?

Lo que te llevás

Alimentá el tracker con un stack barato y resiliente: yt-dlp (gratis, YouTube/TikTok), ScrapeCreators (gratis/$47, Instagram) o Apify ($0,30–0,50/1k), más business_discovery + media-info gratis para plays públicos. Cacheá a disco, mantenete idempotente, scrapeá a 1 req/seg. Total: $0–47/mes para reemplazar OutlierKit, 1of10, vidIQ, Virlo y ViralFindr.

Compartir