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.
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
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/
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 !!!