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:
peticiones:
pip install requests
concepto:
para un perfil de usuario determinado, abra view-source y busque «profile_pic_url_hd» . Para encontrar, presione ctrl+f y escriba “profile_pic_url_hd” , el enlace con él es nuestra información o foto de perfil.
El enlace se verá así:
https://scontent-bom1-1.cdninstagram.com/vp/d2df9b2d162969e87200984ee763cc27/5DC590F2/t51.2885-19/s320x320/61851740_845288152518430_7068999703693623296_n.jpg?_nc_ht=scontent-bom1-1.cdninstagram.com
A continuación se muestra la implementación paso a paso 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: solicita el nombre de usuario y envía una respuesta a Instagram.
Python3
insta_url='https://www.instagram.com' inta_username= input('enter username of instagram : ') response = requests.get(f"{insta_url}/{inta_username}/")
Paso 3: si la respuesta es correcta, busque el enlace de la foto de perfil
( Nota: reemplace ‘\\u0026’ con ‘&’ en string_url para eliminar la marca de tiempo de URL incorrecta 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 descarga la 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 foto de perfil de cualquier cuenta de Instagram usando el módulo instaloader simplemente dándole a Instagram el identificador del usuario.
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)
Salida: la imagen de perfil se descargará en el mismo directorio cuando ingresemos la identificación de usuario de entrada.
Publicación traducida automáticamente
Artículo escrito por itsvinayak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA