Volver al blog

¿Cómo raspar rápidamente datos de perfil de Instagram?

Sophia Martinez
Sophia Martinez

Specialist in Anti-Bot Strategies

26-Mar-2025

Instagram es una de las plataformas de redes sociales más populares, con millones de usuarios en todo el mundo. El scraping de perfiles de Instagram es beneficioso para ayudar a empresas, desarrolladores y expertos en análisis de datos en el análisis de marketing, la investigación de la competencia o la gestión de datos personales.

En este artículo, le mostraremos el proceso de scraping de perfiles de Instagram en profundidad. Explicaremos cómo crear un scraper de Instagram para extraer datos de los perfiles de Instagram y las páginas de publicaciones.

Es hora de aprender a raspar datos de Instagram rápidamente utilizando la conveniente API de Scraping.

  • #Método 1. Crea tu propio scraper de perfiles de Instagram en Python
  • #Método 2. Utiliza la API de Scraping para recopilar datos fácilmente

¿Por qué raspar perfiles de Instagram?

Los datos públicos de Instagram son enormes y pueden proporcionar todo tipo de información. El scraping de datos de perfil puede proporcionarte información valiosa sobre usuarios populares de todo el mundo, ayudándote a predecir tendencias, rastrear el conocimiento de la marca, comprender cómo mejorar tu rendimiento en Instagram o ayudar a las empresas a buscar y llegar a nuevos clientes conectándose con perfiles populares de Instagram con intereses similares.

Además, los datos de Instagram extraídos son un recurso viable para estudios de análisis de sentimiento. Estos datos se pueden encontrar en publicaciones y comentarios y se pueden utilizar para recopilar la opinión pública sobre tendencias y noticias específicas.

Método 1. Scraper de perfiles de Instagram en Python

¡Comencemos raspando los perfiles de usuario de Instagram! A continuación, explicaremos en profundidad cómo raspar la información del perfil del usuario de Instagram ladygaga. Podemos hacerlo siguiendo los pasos a continuación:

Protegemos firmemente la privacidad del sitio web. Todos los datos de este blog son públicos y solo se utilizan como demostración del proceso de rastreo. No guardamos ninguna información ni datos.

Paso 1. Analiza la página objetivo

  1. Visita la URL objetivo: https://www.instagram.com/ladygaga/.
  2. Inspecciona el código fuente de la página para localizar los datos JSON incrustados:
  • Instagram incrusta la información del usuario en una etiqueta script con el formato window._sharedData.
  • Podemos extraer estos datos analizando el HTML.
Analizar página objetivo

Paso 2. Instala las bibliotecas necesarias

Asegúrate de que estén instaladas las siguientes bibliotecas de Python:
pip install requests beautifulsoup4

Paso 3. Configura los encabezados de la solicitud

Para simular el acceso del navegador, configura los encabezados User-Agent y Referer para evitar ser bloqueado por los mecanismos anti-scraping.

Python Copy
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
    "Referer": "https://www.instagram.com/"
}

Paso 4. Analiza los datos JSON

Necesitamos extraer el contenido de window._sharedData de la etiqueta script en el HTML y convertirlo en un diccionario de Python.

Python Copy
soup = BeautifulSoup(response.text, "html.parser")
script_tag = soup.find("script", type="application/ld+json")

if not script_tag:
    print("Error: Datos JSON no encontrados en la página.")
    return None

# Analiza los datos JSON
try:
    data = json.loads(script_tag.string)
except json.JSONDecodeError:
    print("Error: Error al analizar los datos JSON.")
    return None

Paso 5. Extrae los campos necesarios

Recupera el nombre de usuario, la biografía, el recuento de seguidores, el recuento de publicaciones y otra información relevante de los datos JSON analizados.

Código completo

A continuación se muestra el código completo de Python, que puedes usar directamente para raspar la información del perfil de Lady Gaga:

Python Copy
import requests
from bs4 import BeautifulSoup
import json

def scrape_instagram_profile(username):
    url = f"https://www.instagram.com/ladygaga/"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
        "Referer": "https://www.instagram.com/"
    }
    
    response = requests.get(url, headers=headers)
    if response.status_code != 200:
        print(f"Error: No se pudieron obtener datos para {username}. Código de estado: {response.status_code}")
        return None
    
    
    soup = BeautifulSoup(response.text, "html.parser")
    script_tag = soup.find("script", type="application/ld+json")
    
    if not script_tag:
        print("Error: Datos JSON no encontrados en la página.")
        return None
    
    # Analiza los datos JSON
    try:
        data = json.loads(script_tag.string)
    except json.JSONDecodeError:
        print("Error: Error al analizar los datos JSON.")
        return None
    
   
    profile = {
        "username": data["author"]["name"],
        "bio": data["description"],
        "follower_count": data["author"]["interactionStatistic"][0]["userInteractionCount"],
        "post_count": data["author"]["interactionStatistic"][1]["userInteractionCount"]
    }
    
    return profile

# Ejemplo de uso
if __name__ == "__main__":
    username = "ladygaga"
    profile_data = scrape_instagram_profile(username)
    if profile_data:
        print("Datos del perfil de Instagram:")
        print(json.dumps(profile_data, indent=4, ensure_ascii=False))

Resultados del scraping

Después de ejecutar el código, la salida de profile_data incluirá los siguientes campos:

JSON Copy
{
    "username": "ladygaga",
    "bio": "Lady Gaga MAYHEM OUT NOW",
    "follower_count": "58.9M",
    "post_count": "3,790"
}

Método 2. API de Scraping Scrapeless (Recomendado)

Raspar Instagram es bastante fácil. Sin embargo, Instagram es extremadamente restrictivo con respecto al acceso a sus datos públicos. Solo permite unas pocas solicitudes por día para usuarios que no han iniciado sesión, después de lo cual redirige las solicitudes a la página de inicio de sesión.

¿Cómo evitar el bloqueo de los scrapers de Instagram? ¡Scrapeless es tu herramienta de scraping ideal!

Scrapeless proporciona APIs de scraping web, desbloqueo web y extracción de datos para la recopilación de datos a gran escala.

  • Omisión de la protección anti-bot: ¡Evita ser bloqueado mientras raspas la web!
  • Proxies residenciales rotativos: Evita las prohibiciones de IP y el bloqueo geográfico.
  • Renderizado de JavaScript: Raspa páginas web dinámicas a través de navegadores en la nube.
  • SDKs de Python y Typescript, así como integraciones de Scrapy.

¿Esta API de scraping de Instagram es gratuita?

Sí. Scrapeless te proporciona un crédito gratuito de $2. Puedes registrarte directamente para reclamar crédito gratuito. ¡Con el scraper de perfiles de Instagram, puedes recopilar fácilmente información de usuarios gratis!

Paso 1. Crea tu token de API

Para comenzar, deberás obtener tu clave API desde el panel de control de Scrapeless:

  • Inicia sesión en el Panel de control de Scrapeless.
  • Navega a Gestión de claves API.
  • Haz clic en Crear para generar tu clave API única.
  • Una vez creada, simplemente haz clic en la clave API para copiarla.
Crea tu token de API

Conclusiones

En este tutorial, presentamos 2 formas eficientes de obtener datos de perfiles de Instagram. Mostramos cómo manejar la autenticación, realizar solicitudes, manejar respuestas e integrar IP de proxy para una mejor estabilidad y seguridad.

Siguiendo esta guía, puedes comenzar fácilmente a extraer datos de perfiles de Instagram para uso personal o comercial mientras mantienes la privacidad y evitas problemas como los límites de velocidad.

Para mejorar la eficiencia de la recopilación de datos, te recomendamos que uses la API de scraping avanzada, ¡que solo requiere parámetros de configuración simples para completar la extracción de datos!

¡Comienza una prueba gratuita ahora!

En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.

Artículos más populares

Catalogar