Baixar posts do Instagram usando Python

Neste artigo desenvolveremos um script capaz de fazer o download de posts do Instagram via terminal usando Python.

[ Hits: 11.419 ]

Por: Fábio Berbert de Paula em 15/12/2021 | Blog: https://fabio.automatizando.dev


Código completo



Download do código: insta-dl

insta-dl:

#!/usr/bin/env python3

# módulos necessários
import instaloader
import re
import os
import sys
from getpass import getpass

# verificar se a URL foi informada
try:
    url = sys.argv[1]
except IndexError:
    print(
        "Forma de uso:\n\n", sys.argv[0],
        "URL\n\nInforme uma URL válida\n\n"
    )
    sys.exit()

# diretório de download
downloadDir = '/home/fabio/Downloads'
os.chdir(downloadDir)

loader = instaloader.Instaloader(
  download_pictures=True,
  download_videos=True,
  download_video_thumbnails=False,
  download_geotags=False,
  download_comments=False,
  save_metadata=False,
  compress_json=False,
  filename_pattern='{profile}_{mediaid}'
  )

# o login é opcional, necessário somente no
# caso de download de posts de contas privadas
# comente as próximas 3 linhas caso esteja
# fazendo download de posts de contas públicas
username = input('Usuário: ')
password = getpass('Senha: ')
loader.login(username,password)

# extrair "short_code" da URL
# exemplo: https://www.instagram.com/p/CCfeQV-AssF/
expr = r'\/p\/([^\/]*)/'
found = re.search(expr, url)

if found:
    print("Baixando ", found.group(1), "...")
    post = instaloader.Post.from_shortcode(loader.context, found.group(1))
    loader.download_post(post, ".")

Página anterior    

Páginas do artigo
   1. Introdução
   2. Código completo
Outros artigos deste autor

Implementando um tradutor de línguas no seu web site

Capturando tela do Android usando shell script

Transferindo arquivos com o rsync

Interfaces Gráficas no Linux

Viva o Linux adere à moda Orkut

Leitura recomendada

Comunity ENTerprise Operating System, o CentOS

OpenSSH - Debian Lenny - CentOS 5.5 - Slackware 13.1

Shell Script Para Iniciantes - Parte I

Instalação do Void Linux em UEFI + Dual Boot com Windows

X Window, Controladores de Janelas e Ambientes Desktop

  
Comentários
[1] Comentário enviado por SamL em 15/12/2021 - 01:24h

Bom artigo, Fábio. Só não sabia que o vol aceitava pequenos vídeos nos artigos, isso é ótimo! Vou anotar aqui pra lembrar de usar esse recurso quando escrever algo.
Valeu

[2] Comentário enviado por fabio em 15/12/2021 - 11:05h


[1] Comentário enviado por SamL em 15/12/2021 - 01:24h

Bom artigo, Fábio. Só não sabia que o vol aceitava pequenos vídeos nos artigos, isso é ótimo! Vou anotar aqui pra lembrar de usar esse recurso quando escrever algo.
Valeu


Basta anexar o vídeo como imagem. Um abraço

[3] Comentário enviado por maurixnovatrento em 16/12/2021 - 20:03h


Opa fábio. Muito bom essa dica, porém eu queria uma forma de receber as notificações do facebook e instagram usando python. Se conseguir encontrar algo, manda uma dica no VOL.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[4] Comentário enviado por Thomas45 em 04/01/2022 - 08:25h


Fulfilled to consider your to be as I would survey I have an unclear issue, I am likewise confused and requiring light on this not well characterized issue. Need help.
https://www.onevanilla.top/

[5] Comentário enviado por ifallenhunt em 26/04/2022 - 14:06h

Muito bom, o meu por algum motivo só funciona usando ./ mas deu certo, vlw pela dica!

vou dar uma editada no arquivo para passar a autenticação de 2 fatores e vou tentar manter o usuário logado

[6] Comentário enviado por removido em 02/06/2022 - 16:51h

Fabio excelente artigo,gostaria de saber se você bloqueou meu email,porque quero falar contigo faz tempo e não consigo,você pode aprovar meu artigo? eu me esforcei ao máximo para criar esse artigo intitulado 'História do Unix e a popularidade do Linux' espero que goste,pois a leitura do texto é gostosa de ler.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts