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)
{'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