Instagram es un servicio de redes sociales para compartir fotos y videos propiedad de Facebook, Python proporciona herramientas poderosas para el raspado web de Instagram.
Módulos requeridos e Instalación:
solicitud:
pip install requests
concepto –
Para un perfil de usuario específico, abra ver fuente y obten «imagen_perfil_url_hd» . Para encontrar presione ctrl+f y escriba «imagen_perfil_url_hd» el enlace a él es nuestros detalles o foto de perfil.
El enlace se verá así:
https://scontent-bom1-1.cdninstagram.com/vp/d2df9b2d162969e87200984ee763cc27/5DC590F2/t51.2885-19/s320x320/61851740_845288152518430_7068999703693623?196_ninstagram.jpg-scdbon-content.com?
A continuación se muestra la implementación por etapas del proyecto:
Paso 1: importar todas las dependencias
Python3
import requests from bs4 import BeautifulSoup as bs import json import random import os.path |
Paso 2: Pide un nombre de usuario y envía una respuesta en Instagram.
Python3
inta_username = input ( 'enter username of instagram : ' ) response = requests.get(f "{insta_url}/{inta_username}/" ) |
Paso 3: si la respuesta es correcta, obtenga un enlace a una foto de perfil
(Nota: reemplace ‘u0026’ con ‘&’ en string_url para eliminar el sello de URL incorrecto o el error hash de URL incorrecto)
Python3
if response.ok: html = response.text bs_html = bs(html, features = "lxml" ) bs_html = bs_html.text index = bs_html.find( 'profile_pic_url_hd' ) + 21 remaining_text = bs_html[index:] remaining_text_index = remaining_text.find( 'requested_by_viewer' ) - 3 string_url = remaining_text[:remaining_text_index].replace( "u0026" , "&" ) print (string_url, "n n downloading.........." ) |
Paso 4: Ahora, crea un bucle y sube una foto.
Python3
while True : filename = 'pic' + str (random.randint( 1 , 100000 )) + '.jpg' file_exists = os.path.isfile(filename) if not file_exists: with open (filename, 'wb+' ) as handle: response = requests.get(string_url, stream = True ) if not response.ok: print (response) for block in response.iter_content( 1024 ): if not block: break handle.write(block) else : continue break print ( "n downloading completed .............." ) |
Producción:
Otro método :
Podemos descargar la imagen de perfil de cualquier cuenta de Instagram usando el módulo instaloader dándole al usuario el identificador de Instagram.
Primero necesitamos instalar el módulo instaloader:
pip install instaloader
Ejemplo:
Python3
import instaloader ig = instaloader.Instaloader() dp = input ( "Enter Insta username : " ) ig.download_profile(dp , profile_pic_only = True ) |
Producción: La foto de perfil se descargará en el mismo directorio cuando ingresemos la identificación de usuario de entrada.