Instagram es uno de los sitios de redes sociales más populares con miles de millones de usuarios. Todos, desde estudiantes hasta celebridades, tienen cuentas de Instagram. Los datos públicos de Instagram pueden ser de gran valor para las empresas, los vendedores y las personas. Cualquiera puede usar estos datos para realizar análisis de datos, marketing objetivo y generar información.

Puede usar Python para crear una herramienta automatizada que extraiga datos de Instagram.

Instalación de bibliotecas necesarias

cargador de insta es una biblioteca de Python que puede usar para extraer datos disponibles públicamente de Instagram. Puede acceder a datos como imágenes, videos, nombre de usuario, no. de publicaciones, conteo de seguidores, conteo de seguidores, biografía, etc. utilizando Instaloader. Tenga en cuenta que Instaloader no está afiliado, autorizado, mantenido ni respaldado por Instagram de ninguna manera.

Para instalar instaloader a través de pip, ejecute el siguiente comando:

pepita instalar cargador de insta
instagram viewer

Debes tener pip instalado en su sistema para instalar bibliotecas externas de Python.

A continuación, debe instalar la biblioteca Pandas Python. Pandas es una biblioteca de Python que se utiliza principalmente para realizar manipulación y análisis de datos. Ejecute el siguiente comando para instalarlo:

pepita instalar pandas

Ahora, está listo para comenzar a configurar el código y obtener los datos de Instagram.

Configuración de su código

Para configurar la herramienta de obtención de datos de Instagram, debe importar la biblioteca Instaloader Python y crear una instancia de la clase Instaloader. Después de eso, debe proporcionar el identificador de Instagram del perfil del que desea extraer los datos.

El código de Instagram Extractor Python está disponible en un repositorio GitHub y es gratis para su uso bajo la Licencia MIT.

importar cargador de insta

# Creando una instancia de la clase Instaloader
bot = cargador de insta. cargador de instalación()

# Cargando el perfil desde un identificador de Instagram
perfil = cargador de insta. Profile.from_username (bot.context, 'cristiano')
imprimir(perfil)

Este es un buen primer paso para verificar el trabajo básico. Debería ver algunos datos significativos sin errores:

Extracción de datos del perfil

Puede extraer valiosos datos disponibles públicamente como nombre de usuario, no. de publicaciones, conteo de seguidores, conteo de seguidores, biografía, ID de usuario y URL externa usando Instaloader con solo unas pocas líneas de código. Solo necesita proporcionar el identificador de Instagram del perfil.

importar cargador de insta
importar pandas como p.d.

# Creando una instancia de la clase Instaloader
bot = cargador de insta. cargador de instalación()

# Cargando un perfil desde un identificador de Instagram
perfil = cargador de insta. Profile.from_username (bot.context, 'Leo Messi')
imprimir("Nombre de usuario: ", perfil.nombre de usuario)
imprimir("ID de usuario: ", perfil.idusuario)
imprimir("Número de publicaciones: ", perfil.cuenta de medios)
imprimir("Número de seguidores: ", perfil.seguidores)
imprimir("Conteo siguiente: ", perfil.seguidos)
imprimir("biografía: ", perfil.biografía)
imprimir("URL externa: ", perfil.url_externa)

Debería ver mucha información de perfil del identificador que especifique:

Extraer correos electrónicos de la biografía

Puede extraer direcciones de correo electrónico de la biografía Insta de cualquier perfil usando expresiones regulares. Necesitas importar Python's re biblioteca y pase la expresión regular para validar el correo electrónico como un parámetro para el re.findall() método:

importar cargador de insta
importar re
# Creando una instancia de la clase Instaloader
bot = cargador de insta. cargador de instalación()
perfil = cargador de insta. Profile.from_username (bot.context, "poder")
imprimir("Nombre de usuario: ", perfil.nombre de usuario)
imprimir("biografía: ", perfil.biografía)
correos electrónicos = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", perfil.biografía)
print("Correos extraidos de la biografía:")
imprimir(correos electrónicos)

El script imprimirá cualquier cosa que reconozca como una dirección de correo electrónico en la biografía:

Extracción de datos de resultados de búsqueda principales

Cuando busca cualquier cosa en Instagram, obtiene varios resultados, incluidos nombres de usuario y hashtags. Puede extraer los mejores resultados de búsqueda utilizando el obtener_perfiles() y get_hashtags() métodos. Solo necesita proporcionar la consulta de búsqueda en el cargador de insta Principales resultados de búsqueda() método. Además, puede iterar e imprimir/almacenar los resultados individuales.

importar cargador de insta

# Creando una instancia de la clase Instaloader
bot = cargador de insta. cargador de instalación()

# Proporcione la consulta de búsqueda aquí
search_results = cargador de instalación. TopSearchResults (bot.contexto, 'música')

# Iterando sobre los nombres de usuario extraídos
paranombre de usuarioenResultados de la búsqueda.get_perfiles():
imprimir(nombre de usuario)

# Iterando sobre los hashtags extraídos
parahashtagenResultados de la búsqueda.get_hashtags():
imprimir(hashtag)

El resultado incluirá todos los nombres de usuario y hashtags coincidentes:

Extracción de seguidores y seguidores de una cuenta

Puedes extraer los seguidores de una cuenta, y los que ella misma sigue, usando Instaloader. Deberá proporcionar un nombre de usuario y una contraseña de Instagram para recuperar estos datos.

Nunca use sus cuentas personales para extraer datos de Instagram, ya que puede prohibir su cuenta de forma temporal o permanente.

Después de crear una instancia de la clase Instaloader, debe proporcionar su nombre de usuario y contraseña. Esto es para que el bot pueda iniciar sesión en Instagram usando su cuenta y obtener los datos de seguidores y seguidores.

A continuación, debe proporcionar el identificador de Instagram del perfil de destino. El Consigue seguidores() y obtener_seguidos() Los métodos extraen a los seguidores y seguidores. Puede obtener los nombres de usuario de los seguidores y los seguidores usando el seguidor.nombre de usuario y seguidor.nombre de usuario propiedades respectivamente.

Si desea almacenar los resultados en un archivo CSV, primero debe convertir los datos en un objeto Pandas DataFrame. Utilizar el p.d. Marco de datos() método para convertir un objeto de lista en un DataFrame.

Finalmente, puede exportar el objeto DataFrame a un archivo CSV usando el a_csv() método. Tienes que pasar el nombre de archivo.csv como parámetro de este método para obtener los datos exportados en formato de archivo CSV.

Solo los propietarios de la cuenta pueden ver todos los seguidores y seguidores. No podrá extraer todos los datos de seguidores y seguidores utilizando este o cualquier otro método.

# Importación de bibliotecas
importar cargador de insta
importar pandas como p.d.

# Creando una instancia de la clase Instaloader
bot = cargador de insta. cargador de instalación()
bot.login (usuario="Su nombre de usuario", contraseña="Tu contraseña")

# Cargando un perfil desde un identificador de Instagram
perfil = cargador de insta. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Recuperar los nombres de usuario de todos los seguidores
seguidores = [seguidor.nombre de usuario para seguidor en perfil.get_followers()]

# Convirtiendo los datos a un DataFrame
seguidores_df = pd. Marco de datos (seguidores)

# Almacenar los resultados en un archivo CSV
seguidores_df.to_csv('seguidores.csv', índice=Falso)

# Recuperar los nombres de usuario de todos los seguidores
seguidores = [followee.username for followee in profile.get_followees()]

# Convirtiendo los datos a un DataFrame
siguientes_df = pd. DataFrame (siguientes)

# Almacenar los resultados en un archivo CSV
seguimientos_df.a_csv('seguidores.csv', índice=Falso)

Descargar publicaciones de una cuenta de Instagram

Nuevamente, para descargar publicaciones de cualquier cuenta, deberá proporcionar un nombre de usuario y una contraseña. Esto es para que el bot pueda iniciar sesión en Instagram usando su cuenta. Puede recuperar todos los datos de las publicaciones utilizando el get_posts() método. Y puede iterar y descargar todas las publicaciones individuales usando el descargar_post() método.

# Importación de bibliotecas
importar cargador de insta
importar pandas como p.d.

# Crear una instancia de la clase Instaloader
bot = cargador de insta. cargador de instalación()
bot.login (usuario="Su nombre de usuario",contraseña="Tu contraseña")

# Cargando un perfil desde un identificador de Instagram
perfil = cargador de insta. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Recuperando todas las publicaciones en un objeto
publicaciones = perfil.get_posts()

# Iterando y descargando todas las publicaciones individuales
para índice, publicar en enumerar (publicaciones, 1):
bot.download_post (publicación, destino=f"{perfil.nombre de usuario}_{índice}")

Raspe la web usando Python

El raspado de datos o raspado web es una de las formas más comunes de extraer información útil de la web. Puede usar los datos que extrae para marketing, creación de contenido o toma de decisiones.

Python es el lenguaje preferido para el raspado de datos. Bibliotecas como BeautifulSoup, Scrapy y Pandas simplifican la extracción, el análisis y la visualización de datos.