Contáctanos
No se encontraron resultados.

Extraer datos de Twitter (X.com) con Python

Cem Dilmegani
Cem Dilmegani
actualizado el Feb 11, 2026
Vea nuestra normas éticas

Las plataformas sociales modernas, como X.com, emplean estrictas medidas de seguridad contra el rastreo web , como CAPTCHA, límites de velocidad y bloqueo de IP. Estas medidas dificultan la creación de un programa de rastreo web personalizado desde cero y lo hacen propenso a interrupciones frecuentes.

Por eso, esta guía utiliza la API de extracción de datos de Twitter, que permite extraer datos de Twitter de forma fiable y conforme a la normativa, gestionandola rotación de servidores proxy y la recopilación ética de datos.

Crea un programa para extraer perfiles de Twitter (perfiles públicos, sin API).

Puedes reutilizar el mismo flujo de 4 pasos para extraer datos de perfiles públicos , como biografía, número de seguidores, frecuencia de publicaciones y estado de verificación, sin necesidad de la API oficial.

Cómo adaptar tu flujo de trabajo :

  1. Descubre las URL de perfil con Google:
    sitio:x.com inurl:/status/ (para publicaciones) → cambiar a
    site:x.com -inurl:/status “profile_keyword” o busque site:x.com “@handle” para recopilar páginas de perfil.
  2. Recopila con una herramienta de pago o tu script sin interfaz gráfica y mantén el retraso de 2 segundos Google.
  3. Realiza sondeos cada 10 segundos (con un límite de 15 minutos) y descarga el archivo NDJSON.
  4. Exportar CSV. Utilizar campos como user_posted, name, followers, posts_count, is_verified, profile_image_link, biography, user_id.

Lo que obtienes :
Un conjunto de datos limpio para clasificar a los creadores según su puntuación de influencia = interacción normalizada × log10(seguidores). Esto responde a la pregunta de «a quién seguir» en los flujos de trabajo de extracción de datos de Twitter y alimenta las listas de contactos para los paneles de control de extracción de datos de Twitter.

Cómo extraer datos de Twitter usando Python

Paso 1: Configura tu entorno para el web scraping de Twitter.

Antes de empezar a extraer datos de Twitter, tendrás que preparar tu entorno Python.

En este paso, importarás las bibliotecas necesarias , añadirás tus credenciales de API (nosotros usamos la API de extracción de datos de Twitter Bright Data ) , configurarás un proxy y definirás tus parámetros de búsqueda.

Estás preparando tu espacio de trabajo para que tu script de Python para extraer datos de Twitter se ejecute sin problemas y se conecte al programa de extracción.

  • Importa las bibliotecas que usarás para las solicitudes, el análisis de datos y el guardado de resultados.
  • Añade tus credenciales; encontrarás el token de la API y el ID del conjunto de datos en tu panel de control.
  • Configura un proxy para enrutar tu tráfico de forma segura y evitar bloqueos de IP al extraer contenido de Twitter.
  • Establece tu palabra clave y límite. En este ejemplo, estás rastreando "optimización de agente de IA" y recopilando cinco publicaciones, pero puedes aumentar NUM_POSTS para ampliar el alcance de tu extracción de datos de Twitter.

Paso 2: Encuentra las URL de las publicaciones X para extraer.

En este paso, usarás la búsqueda Google para recopilar enlaces de publicaciones públicas (tuits) que coincidan con tu palabra clave. Este sencillo truco te permite extraer datos de Twitter sin acceso a la API, consultando únicamente las URL de X/Twitter.

Este script construye una consulta Google, como 'site:x.com OR site:twitter.com <palabra clave>', para devolver solo publicaciones de X/Twitter. Extrae las URL de los tweets, las limpia, convierte los enlaces antiguos de twitter.com a x.com y elimina los duplicados.

Se incluye un retraso de 2 segundos entre las solicitudes para respetar los servidores de Google mientras se recopilan suficientes URL únicas para el flujo de trabajo de extracción de datos de Twitter.

Paso 3: Activar el rastreo de Twitter

Envía las URL recopiladas al programa de extracción de datos.

Una vez recopiladas todas las URL de las publicaciones de Twitter, debemos enviarlas al programa de extracción de datos. Esta sección realiza una solicitud POST al punto final de activación de Bright Data con nuestro token de autenticación y el ID del conjunto de datos. Este es el mismo método que utilizan muchos programas de extracción de datos de Twitter para gestionar la recopilación de datos externos.

Las URL se formatean como una lista de objetos JSON, donde cada objeto contiene una URL de publicación. Cuando la API recibe esta solicitud correctamente, devuelve un ID de instantánea, que actúa como referencia para esta tarea de extracción de datos en particular.

Si la llamada a la API falla por cualquier motivo, el script finaliza con un mensaje de error. Este paso constituye la base del web scraping de datos de Twitter, un método escalable y compatible para quienes desean aprender a extraer datos de Twitter de forma segura y eficiente sin depender de la API oficial.

Paso 4: Escriba el código completo y guarde los datos extraídos de X.com.

La sección final espera a que el raspador termine y luego recupera los resultados para tu flujo de trabajo de extracción de datos web de Twitter. Dado que la extracción puede llevar tiempo, tu script consulta el estado de la instantánea cada 10 segundos con un tiempo de espera de 15 minutos . Cuando el estado cambia a "listo" o "terminado", descarga el conjunto de datos a través de la URL proporcionada.

La respuesta llega en formato NDJSON , por lo que cada línea se analiza y se convierte en un diccionario de Python. Una vez recopilados todos los datos, el script imprime la URL, la descripción y las métricas de interacción (me gusta, visualizaciones, republicaciones, respuestas, hashtags) de cada publicación. Finalmente, todo se organiza en un DataFrame de pandas y se exporta a CSV para su uso en informes o modelado.

Los bloques try/except garantizan que los campos numéricos se conviertan de forma segura (manejando formatos inesperados), lo que hace que este enfoque sea fiable para los procesos de extracción de datos de Twitter y los tutoriales sobre cómo extraer datos de Twitter sin la API oficial.

Comparativa: Rendimiento y fiabilidad (herramienta de pago frente a herramienta de código abierto)

Si te tomas en serio la extracción de datos web de Twitter a gran escala , mide el rendimiento, la tasa de éxito y el tiempo de mantenimiento.

Ejecutamos tres configuraciones con los mismos temas:

  1. Una herramienta de pago ( proveedor de web scraping gestionado )
  2. SN-Scraper (código abierto)
  3. Un script personalizado para navegador sin interfaz gráfica. Cada uno recopilaba publicaciones públicas, analizaba la interacción y guardaba los datos en un archivo CSV.

Lo que observamos:

  • Rendimiento (tweets/min): raspadores de Twitter de pago > navegador sin interfaz gráfica > SN-Scraper.
  • Tasa de éxito: La herramienta de pago gestionó los cambios de diseño/autenticación de forma más consistente.
  • Tiempo de ingeniería: las opciones de código abierto requirieron la mayor cantidad de parches después de los cambios en el sitio.

Conclusión : Para investigaciones puntuales, el software de código abierto es una excelente opción. Para la extracción continua de datos de Twitter, las herramientas de web scraping de pago pueden reducir los errores y los costos ocultos, especialmente cuando se necesita extraer datos de Twitter de forma continua o sobre muchos temas.

Mejores prácticas para el web scraping de Twitter

Los siguientes puntos estabilizan las ejecuciones de Python para el web scraping de Twitter y reducen los bloqueos.

  • Ritmo: Mantenga un retraso de 2 segundos en el descubrimiento de Google y aumente gradualmente la duración del tiempo de espera (10→20→40 s) en los tiempos de espera subsiguientes .
  • Rotación de identidades: Utilice direcciones IP/agentes de usuario rotativos (generalmente una herramienta de pago automatiza este proceso) para extraer datos de Twitter a gran escala.
  • Limitar la concurrencia: Iniciar de 3 a 5 trabajadores; aumentar solo si la tasa de error se mantiene baja.
  • Caché y eliminación de duplicados: No vuelva a obtener la misma publicación; almacene los ID y la marca de tiempo de la última vez que se vio.
  • Distribuye los horarios: Reparte las carreras a lo largo del día.

La mejor manera de obtener datos de Twitter

  • ¿Necesitas éxito predecible y poco mantenimiento?
    • Elige una herramienta de pago. Es la más robusta para la extracción continua de datos de Twitter y el monitoreo de múltiples temas.
  • ¿Necesita un acceso estructurado y controlado?
    • Si los presupuestos y los límites son aceptables, la API oficial es la más limpia.
  • ¿Solo explorando? ¿Presupuesto reducido?
  • ¿Tiene requisitos únicos (inicios de sesión, secuenciación, acciones dinámicas)?
    • Construye un servidor sin interfaz gráfica (headless) de bricolaje con una sólida higiene de proxy y observabilidad.

Utilice esta comparación para elegir la opción que mejor se ajuste a su presupuesto, plazos y tolerancia al riesgo para la extracción de tweets.

Agregador de Twitter (programación + paneles de control)

Una vez que tu programa Python para extraer datos de Twitter esté en funcionamiento, puedes convertirlo fácilmente en un agregador de Twitter que recopile y visualice continuamente publicaciones públicas de X.com sobre temas, hashtags o personas influyentes específicos. Un agregador es simplemente un sistema automatizado que:

  • Recopila publicaciones de múltiples fuentes o palabras clave.
  • Limpia y almacena los datos periódicamente (cada hora o diariamente).
  • Muestra información relevante en un panel de control para un análisis rápido.

Tu tutorial de 4 pasos ya realiza todas las funciones básicas: descubrimiento, extracción y exportación, lo que lo convierte en una base adecuada para un agregador automatizado.

Cómo crear tu agregador de Twitter

  1. Programa ejecuciones periódicas: utiliza una tarea programada (cron job) o un programador de flujos de trabajo para ejecutar tu script automáticamente (por ejemplo, cada hora). Varía la lista de temas o hashtags en cada ejecución.
  2. Elimina duplicados y agrega datos nuevos: Después de cada ejecución, verifica si hay duplicados usando la URL o el ID y agrega solo las publicaciones nuevas a tu archivo CSV o base de datos. Organiza los resultados por día (/data/x_posts/AAAA-MM-DD/) para que sean fáciles de consultar posteriormente.
  3. Transformación para paneles: Cargue sus archivos CSV en Data Studio , Tableau o cuadernos de Python para visualizarlos:
    • Volumen de publicaciones por hora/día
    • Autores o hashtags más populares
    • Tendencias de interacción (me gusta, visualizaciones, republicaciones)

Utiliza patrones de consulta como buscador de Twitter (personas y publicaciones).

Tu paso de descubrimiento puede hacer más que encontrar publicaciones. Te ayuda a encontrar personas, personas influyentes y cuentas clave en X.com usando los operadores de búsqueda Google. Esto convierte a tu programa de extracción de datos en un buscador de Twitter que también permite encontrar perfiles de usuario y tuits relacionados con temas específicos.

¿Qué es un buscador de Twitter?

Un buscador de Twitter es un flujo de trabajo de búsqueda que identifica:

  • Personas o perfiles basados en el puesto de trabajo, la biografía o las palabras clave del sector.
  • Tweets o publicaciones basados en temas, hashtags o periodos de tiempo específicos.

Seguirás dependiendo del operador site:x.com de Google para descubrir páginas públicas que coincidan con tus palabras clave, sin necesidad de la API de Twitter.

Patrones de consulta para encontrar perfiles:

Estos patrones te ayudan a recopilar páginas de autores (no tweets). Introduce esas URL en tu programa de extracción de datos para obtener campos como user_posted, name, followers, is_verified y biography. Para localizar perfiles , prueba lo siguiente:

Esto transforma tu proyecto en un sencillo extractor de perfiles de Twitter, ideal para descubrir, reclutar o investigar a personas influyentes.

Patrones de consulta para encontrar publicaciones:

Para centrarse en tuits o publicaciones , utilice:

Estas técnicas mejoran tanto la exhaustividad (al mostrar tweets más relevantes) como la precisión (al reducir la cantidad de resultados irrelevantes). Al aplicar estos trucos de consulta, tu programa de extracción de datos se convierte en un buscador de Twitter preciso.

Solucione los problemas de las vistas previas que faltan con un depurador de Twitter (consejos sobre metadatos).

Quienes buscan herramientas para depurar Twitter suelen querer corregir las vistas previas de los enlaces (Twitter Cards/Open Graph). Si bien no se trata de extracción de datos , es una herramienta complementaria y útil.

  • Asegúrese de que las páginas de destino incluyan og:title, og:description, og:image y la metaetiqueta twitter:card correcta.
  • Verifique que las imágenes utilicen HTTPS, sean accesibles y no superen los límites de tamaño.
  • Vuelva a compartir después de actualizar los metadatos.

Si bien la extracción de datos públicos está generalmente protegida por la CFAA (Ley de Fraude y Abuso Informático) en los EE. UU., X ha introducido un importante elemento disuasorio contractual.

Según los Términos de Servicio de X, a partir de 2026, cualquier persona que "solicite, vea o acceda" a más de 1.000.000 de publicaciones en un período de 24 horas por medios automatizados sin permiso será responsable de una indemnización por daños y perjuicios de 15.000 dólares. 1

Esto supone un riesgo financiero para los investigadores y las empresas que realizan extracciones de datos a gran escala.

Actualizaciones técnicas y tendencias para el web scraping de Twitter en 2026

Extracción de datos nativa mediante IA (integración con MCP)

Una tendencia importante en 2026 es el cambio de herramientas de codificación tradicionales como Python y BeautifulSoup al Protocolo de Contexto de Modelo (MCP). En lugar de escribir y actualizar scripts, los usuarios solicitan los datos que necesitan, y la herramienta MCP se encarga de la extracción, la limpieza y el formato.

Cambiar a navegador completo

Los navegadores básicos sin interfaz gráfica, como Puppeteer o Selenium, son detectados rápidamente por el avanzado sistema de identificación TLS de X. Por ello, las principales empresas utilizan navegadores Stealth Browser y Playwright con complementos que ejecutan sesiones completas del navegador.

Estas herramientas imitan acciones humanas, como mover el ratón aleatoriamente y modificar la sincronización, para eludir los sistemas antibots de aprendizaje automático de X.

Preguntas frecuentes

Sí. El resultado incluye campos multimedia (por ejemplo, fotos, vídeos, enlaces externos). Guarda estas URL y descárgalas más tarde si tu caso de uso lo requiere. Para optimizar el rendimiento, almacena solo los enlaces, junto con los metadatos (tamaño y tipo), para minimizar los costes de almacenamiento.

Utilice proxies residenciales o de proveedores de servicios de Internet (ISP) rotativos. Ofrecen una mejor reputación que los grupos de centros de datos básicos y reducen los bloqueos temporales. Si utiliza una herramienta de pago, la rotación de alta calidad suele estar incluida, lo cual resulta útil para tareas de extracción de datos de Twitter de larga duración.

API oficial: de origen propio, documentada, estructurada; gobernanza más transparente, pero de pago/con acceso restringido y, en ocasiones, limitada.

API de extracción de datos de Twitter / API de extracción de datos de Twitter: un servicio que coordina navegadores y proxies para extraer datos públicos de las páginas; es más flexible, pero depende del diseño del sitio y de los controles antibot.

Si tu enfoque son los medios, el mismo flujo se convierte en un extractor de contenido multimedia de Twitter que captura enlaces de imágenes/vídeos a gran escala. Cómo adaptar tu flujo de trabajo:

* Mantén el paso 2 de descubrimiento de palabras clave, pero orienta las consultas hacia publicaciones con mucho contenido multimedia: “tema” (foto O vídeo) sitio:x.com. En tus resultados, lee fotos, vídeos, external_image_urls y external_video_urls.

* Almacene URL, no archivos binarios . La descarga de contenido multimedia puede ser una segunda tarea con límite de velocidad (cola paralela, suma de verificación, reintentos).

Cem Dilmegani
Cem Dilmegani
Analista principal
Cem ha sido el analista principal de AIMultiple desde 2017. AIMultiple informa a cientos de miles de empresas (según similarWeb), incluyendo el 55% de las empresas Fortune 500 cada mes. El trabajo de Cem ha sido citado por importantes publicaciones globales como Business Insider, Forbes, Washington Post, firmas globales como Deloitte, HPE y ONG como el Foro Económico Mundial y organizaciones supranacionales como la Comisión Europea. Puede consultar más empresas y recursos de renombre que citan a AIMultiple. A lo largo de su carrera, Cem se desempeñó como consultor, comprador y emprendedor tecnológico. Asesoró a empresas en sus decisiones tecnológicas en McKinsey & Company y Altman Solon durante más de una década. También publicó un informe de McKinsey sobre digitalización. Lideró la estrategia y adquisición de tecnología de una empresa de telecomunicaciones, reportando directamente al CEO. Asimismo, lideró el crecimiento comercial de la empresa de tecnología avanzada Hypatos, que alcanzó ingresos recurrentes anuales de siete cifras y una valoración de nueve cifras partiendo de cero en tan solo dos años. El trabajo de Cem en Hypatos fue reseñado por importantes publicaciones tecnológicas como TechCrunch y Business Insider. Cem participa regularmente como ponente en conferencias internacionales de tecnología. Se graduó en ingeniería informática por la Universidad de Bogazici y posee un MBA de la Columbia Business School.
Ver perfil completo

Comentarios 1

Comparte tus ideas

Tu dirección de correo electrónico no será publicada. Todos los campos son obligatorios.

0/450
Jones
Jones
Sep 20, 2023 at 12:10

You cannot access tweets for free using the API. Twitter (X) charges developers at minimum $100/month to use the API to access tweets. The free developer option is limited to posting only, which is not what you'd want to scrape Twitter for anyway.

Cem Dilmegani
Cem Dilmegani
Nov 01, 2023 at 17:31

Indeed, we updated that section, thank you for the heads up!