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: 10.677 ]

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

Tags automáticas em URLs com a classe urlmatch da PHP

Como isolar seus projetos Python com virtualenv (ambiente virtual)

SQL Dicas & Truques (parte 2)

Como usar o ChatGPT para melhorar a educação dos seus filhos

Como baixar vídeos do Facebook via terminal

Leitura recomendada

Compilação Kernel Linux no Slackware

Apresentando a distribuição OpenSuSE Linux

Variáveis padrão para usar em seus scripts em shell

Gentoo - Instalação partindo de LiveCD/USB do Sabayon LXDE

Mageia 6 - 6 dicas de pós-instalação

  
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