Como Scrapear Instagram por Cuenta, Locación o Hashtag

Como Scrapear Instagram por Cuenta, Locación o Hashtag

Aprende como scrapear Instagram por cuenta, locación o hashtag, del mismo modo aprenderás a extraer la información de cuenta y nombre de usuario de cualquier cuenta a través de Python.

El vídeo a continuación muestra el proceso a cabalidad, en el presente blog post está toda la documentación, relacionada.

Como Scrapear Instagram por Cuenta, Locación o Hashtag

Librerías de GitHub

Vamos a utilizar dos librerías subidas a GitHub de Python. Ambos repositorios se llaman Instagram Scraper.

El enlace a continuación es del usuario racerga

El siguiente enlace es del usuario realsirjoe

Instalación de GIT y de Python

Descarga he instalación de Python?

Python es un lenguaje de programación muy potente y sencillo en su código, multiparadigma y multiplataforma.

Python tiene una comunidad muy grande y una gran cantidad de librerías que hacen muy fácil, diseñar programas específicos, por ejemplo hay una gran cantidad de librerías para optimizar Instagram.

En este blog, enseñamos a implementar Instapy he Instabot, pero Python además de Instagram tiene librerías para trabajar con Inteligencia Artificial, Contabilidad, Estadística, Internet de las Cosas, entre muchos otros.

Para descargar Python debes acceder al siguiente enlace:

https://www.python.org/downloads/

Descarga he instalación de GIT

Es un repositorio digital de control de versiones, que optimiza el trabajo de desarrollo, llevando un registro efectivo de los cambios realizados en un proyecto

es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.

Es necesario instalar GIT, para descargar los proyectos colgados en GitHub. Esta la forma de descarga sin GIT, en un archivo ZIP, pero no es el método más óptimo, así que en el vídeo, se muestra el proceso con la descarga he instalación de GIT.

El siguiente es el enlace de descarga de GIT

https://git-scm.com/downloads

Instalación de librería Instagram Scraper del Usuario Rarcega

Posterior a la instalación satisfactoria de Python y de GIT, ya podemos aplicar la instalación de las dos librerías de Instagram Scraper, a las que he hecho referencia.

El comando de instalación de la librería del usuario Rarcega es el siguiente:

 pip install instagram-scraper

Scrapear Publicaciones según Usuario o Usuarios

Posterior a la instalación satisfactoria de esta librería, extraer los post en foto o en vídeo de cualquier usuario es solo cuestión de enviar el siguiente comando desde consola:

 instagram-scraper 'el usuario que quieras', 'cualquier otro usuario'

los usuarios se ponen sin arroba y sin las comillas que apenas las coloqué por claridad.

Scrapear Publicaciones según Locación, Ubicación Geográfica

Es necesario saber el código de la locación, por ejemplo el código de Colombia en Instagram es 567465404, según se puede ver en la captura a continuación, la URL de Instagram para la ubicación geográfica de Colombia es la siguiente:

https://www.instagram.com/explore/locations/567465404/colombia/

Locación Colombia Instagram

El código de Python para extraer imágenes y vídeos según la locación, en este caso, es el siguiente:

instagram-scraper 567465404 --location

Se recomienda poner un parámetro de máximo, ya que se publican muchos post por minutos y el proceso sería super demandante en recursos.

El parámetro de máximo número de post, según la documentación pública es el siguiente:

instagram-scraper 567465404 --location 10 -m

Scrapear Publicaciones por Hashtag

El script de Python es el siguiente

instagram-scraper 'tu hashtag' --tag 10 -m

El hashtag se escribe sin el numeral y en el script no se ponen las comillas, además opté por agregar el parámetro de 10 post como máximo, puedes quitarlo o aumentarlo sin inconvenientes.

Instalación de librería Instagram Scraper del Usuario Realsirjoe

El proceso va a ser un poco más complejo que con la biblioteca, porque se manejan plantillas y no instrucciones de un solo comando.

Es necesario descargar el proyecto, con Git Clone.

El resultado no se imprime en un documento sino se muestra por consola, entonces será necesario, pasar los resultados a Excel.

Instalación Instagram Scraper

El siguiente es el comando para la instalación de la librería en Consola.

pip install igramscraper

Descarga de Proyecto Instagram Scraper con GIT

Comando para clonar el proyecto de la librería Instagram Scraper

 git clone https://github.com/realsirjoe/instagram-scraper.git 

Plantilla para Obtener Información de Cualquier Usuario en Instragram

from igramscraper.instagram import Instagram

instagram = Instagram()

# authentication supported
instagram.with_credentials('tu usuario', 'tu clave')
instagram.login()

#Getting an account by id
#account = instagram.get_account_by_id(3)
account = instagram.get_account('acá va el usuario scrap')

# Available fields
print('Account info:')
print('Id: ', account.identifier)
print('Username: ', account.username)
print('Full name: ', account.full_name)
print('Biography: ', account.biography)
#print('Profile pic url: ', account.get_profile_pic_url_hd())
print('External Url: ', account.external_url)
print('Number of published posts: ', account.media_count)
print('Number of followers: ', account.followed_by_count)
print('Number of follows: ', account.follows_count)
print('Is private: ', account.is_private)
print('Is verified: ', account.is_verified)

Plantilla para Saber el Nombre de Usuario y Usuario de los Seguidores de Cualquier Cuenta

from igramscraper.instagram import Instagram
from time import sleep

instagram = Instagram()
instagram.with_credentials('tu usuario', 'tu clave', '/cachepath')
instagram.login(force=False,two_step_verificator=True)

sleep(2) # ralentiza la consulta para emular un usuario normal

username = 'acá va el usuario a escrapear'
followers = []
account = instagram.get_account(username)
sleep(1)
followers = instagram.get_followers(account.identifier, 150, 100, delayed=True) # Obtienes 150 seguidores de 'el usuario que pusiste', 100 por vez con un retraso aleatorio entre solicitudes

for follower in followers['accounts']:
    print(follower)

Plantilla para Saber el Nombre de Usuario y Usuario de a Quienes Sigue Cualquier Cuenta

from igramscraper.instagram import Instagram
from time import sleep

instagram = Instagram()
instagram.with_credentials('tu usuario', 'tu contraseña', '/cachepath')
instagram.login(force=False,two_step_verificator=True)

sleep(2) # ralentiza la consulta para emular un usuario normal

username = 'acá va el usuario a escrapear'
following = []
account = instagram.get_account(username)
sleep(1)
following = instagram.get_following(account.identifier, 150, 100, delayed=True)  # Obtienes 150 seguidores de 'el usuario que pusiste', 100 por vez con un retraso aleatorio entre solicitudes

for following_user in following['accounts']:
    print(following_user)

Quedo al pendiente de cualquier duda !!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *