Obtener detalles del perfil de Instagram usando Python

Instagram es un servicio de redes sociales para compartir fotos y videos propiedad de Facebook. En este artículo, aprenderemos cómo podemos obtener los detalles del perfil de Instagram mediante el raspado web. Python proporciona herramientas poderosas para el web scraping, usaremos BeautifulSoup aquí.
Módulos requeridos e Instalación:
Requests: 
Requests le permite enviar requests HTTP/1.1 de manera extremadamente fácil. No es necesario agregar manualmente strings de consulta a sus URL. 
 

pip install requests

Beautiful Soup: 
Beautiful Soup es una biblioteca que facilita extraer información de las páginas web. Se asienta sobre un analizador HTML o XML, proporcionando modismos Pythonic para iterar, buscar y modificar el árbol de análisis. 
 

pip install beautifulsoup4

 
Explicación: 
para un nombre de usuario dado, se realizará el raspado de datos y luego se analizarán los datos para que la salida pueda ser legible. El resultado será una descripción, es decir, el número de seguidores, el número de seguidores, el número de publicaciones.
A continuación se muestra la implementación: 
 

Python3

# importing libraries
from bs4 import BeautifulSoup
import requests
 
# instagram URL
URL = "https://www.instagram.com/{}/"
 
# parse function
def parse_data(s):
     
    # creating a dictionary
    data = {}
     
    # splitting the content
    # then taking the first part
    s = s.split("-")[0]
     
    # again splitting the content
    s = s.split(" ")
     
    # assigning the values
    data['Followers'] = s[0]
    data['Following'] = s[2]
    data['Posts'] = s[4]
     
    # returning the dictionary
    return data
 
# scrape function
def scrape_data(username):
     
    # getting the request from url
    r = requests.get(URL.format(username))
     
    # converting the text
    s = BeautifulSoup(r.text, "html.parser")
     
    # finding meta info
    meta = s.find("meta", property ="og:description")
     
    # calling parse method
    return parse_data(meta.attrs['content'])
 
# main function
if __name__=="__main__":
     
    # user name
    username = "geeks_for_geeks"
     
    # calling scrape function
    data = scrape_data(username)
     
    # printing the info
    print(data)
Producción : 

{'Followers': '120.2k', 'Following': '0', 'Posts': '702'}

 

Publicación traducida automáticamente

Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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