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.733 ]
Por: Fábio Berbert de Paula em 15/12/2021 | Blog: https://fabio.automatizando.dev
#!/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, ".")
Liberte-se: Crie um Servidor Proxy na Nuvem para Acessar Conteúdos Bloqueados
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Deixando o Ubuntu (ou outra distro) parecido com o Mac OS X
Principais novidades do Linux Mint 20 Ulyana
Como utilizar o Kurumin dentro de uma única partição Windows
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Como programar um sistema de controle para distribuições linux em c? (0)
Compartilhar ZEBRA ZD220 na rede (2)
Como programar um software que seja utilizado para coleta de dados em ... (1)









