Passo 1: Instalar os Softwares Prévios (Pré-requisitos)
Antes de qualquer script funcionar, o computador precisa de ter o interpretador de comandos e as ferramentas base:
Instalar o Python:
Aceda ao site oficial
e descarregue a versão mais recente para Windows.python.org MUITO IMPORTANTE: Durante a instalação, certifique-se de marcar a opção "Add python.exe to PATH" (Adicionar python.exe ao PATH) na primeira janela de instalação. Sem isto, o Windows não reconhecerá os comandos do Python.
Instalar as Bibliotecas de Automação:
Abra o menu Iniciar do Windows, escreva PowerShell ou Prompt de Comando, abra-o e execute o comando abaixo para instalar a biblioteca de controlo do navegador e o motor de downloads:
pip install playwright requestsApós a instalação anterior, instale o navegador interno utilizado pelo Playwright executando:
playwright install
Passo 2: Criar a Estrutura de Pastas e Ficheiros
No seu computador (por exemplo, na Área de Trabalho ou no Disco F:), crie uma pasta principal com o seguinte nome:
Nome da Pasta Principal:
Instagram_thumbnails
Dentro dessa pasta Instagram_thumbnails, você precisará de criar três ficheiros com os nomes exatos indicados abaixo:
cookies.txtinstagram_bot.pyExecutar.bat
Passo 3: Preencher o Conteúdo dos Ficheiros
1. O ficheiro cookies.txt
Obtenha os cookies da sua sessão atual do Instagram no seu navegador principal (pode usar extensões como o Get cookies.txt LOCALLY no Chrome).
Cole e guarde esses dados textuais no formato Netscape dentro do ficheiro
cookies.txt.
2. O ficheiro instagram_bot.py
Abra o Bloco de Notas, cole o código Python abaixo e guarde exatamente com o nome instagram_bot.py dentro da pasta Instagram_thumbnails:
import os
import time
import random
import requests
from playwright.sync_api import sync_playwright
PERFIL_URL = input("Cole o link do perfil do Instagram (ex: https://www.instagram.com/usuario/): ")
PASTA_DESTINO = "Instagram_thumbnails"
COOKIES_FILE = "cookies.txt"
os.makedirs(PASTA_DESTINO, exist_ok=True)
def carregar_cookies_netscape(caminho_arquivo):
cookies_playwright = []
if not os.path.exists(caminho_arquivo):
return cookies_playwright
with open(caminho_arquivo, "r", encoding="utf-8") as f:
for linha in f:
linha = linha.strip()
if not linha or linha.startswith("#"):
continue
partes = linha.split("\t")
if len(partes) >= 7:
domain, flag, path, secure, expiration, name, value = partes[:7]
cookie = {
"name": name,
"value": value,
"domain": domain,
"path": path,
"secure": secure.upper() == "TRUE",
}
if expiration.isdigit() and int(expiration) > 0:
cookie["expires"] = int(expiration)
cookies_playwright.append(cookie)
return cookies_playwright
with sync_playwright() as p:
print("\n[+] A abrir o navegador...")
browser = p.chromium.launch(headless=False)
context = browser.new_context()
cookies = carregar_cookies_netscape(COOKIES_FILE)
if cookies:
print(f"[+] A injetar {len(cookies)} cookies do ficheiro 'cookies.txt'...")
context.add_cookies(cookies)
else:
print("[-] Aviso: Ficheiro 'cookies.txt' não encontrado na pasta.")
page = context.new_page()
print(f"[+] A aceder a: {PERFIL_URL}")
page.goto(PERFIL_URL)
time.sleep(3)
print("\n[+] A rolar a página para carregar todas as publicações (comportamento humano)...")
last_height = page.evaluate("document.body.scrollHeight")
for _ in range(50):
page.evaluate("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(random.uniform(2.5, 4.5))
new_height = page.evaluate("document.body.scrollHeight")
if new_height == last_height:
print("[+] Chegou ao fim do perfil ou parou de carregar novos posts.")
break
last_height = new_height
print("[+] A extrair os links das imagens do código da página...")
imagens = page.locator("img").all()
links_validos = set()
for img in imagens:
src = img.get_attribute("src")
if src and ("fbcdn.net" in src or "cdninstagram.com" in src):
links_validos.add(src)
print(f"[+] Encontradas {len(links_validos)} imagens únicas. A iniciar o download...")
for index, url_img in enumerate(links_validos, start=1):
try:
print(f"[{index}/{len(links_validos)}] A descarregar imagem...")
response = requests.get(url_img, timeout=10)
if response.status_code == 200:
nome_arquivo = os.path.join(PASTA_DESTINO, f"imagem_{index}_{int(time.time())}.jpg")
with open(nome_arquivo, "wb") as f:
f.write(response.content)
time.sleep(random.uniform(1.5, 3.0))
except Exception as e:
print(f"[-] Erro ao descarregar a imagem {index}: {e}")
print("\n=========================================")
print(" PROCESSO CONCLUÍDO COM SUCESSO!")
print(f" As imagens estão guardadas na pasta: {PASTA_DESTINO}")
print("=========================================")
browser.close()
3. O ficheiro Executar.bat
Abra o Bloco de Notas, cole o código abaixo e guarde exatamente com o nome Executar.bat (certifique-se de que a extensão não fica .bat.txt) na mesma pasta:
@echo off
chcp 65001 >nul
title Bot de Download do Instagram
echo =========================================
echo A INICIAR O BOT DO INSTAGRAM...
echo =========================================
echo.
python instagram_bot.py
echo.
echo =========================================
echo EXECUÇÃO TERMINADA.
echo =========================================
pause
Resumo da Estrutura de Pastas Final
No fim, a sua pasta Instagram_thumbnails deverá ter exatamente esta organização:
├── 📄 cookies.txt
├── 📄 instagram_bot.py
└── 📄 Executar.bat
Como Executar no Dia a Dia:
Basta dar dois cliques em Executar.bat, colar o link do perfil do Instagram quando solicitado na janela preta e deixar o robô simular a navegação humana e transferir as imagens automaticamente para dentro dessa mesma pasta!

Postar um comentário
Não toleramos qualquer comportamento maldoso ou ofensivo!
Ofensas, xingamentos, ameaças ou qualquer outra forma de hostilidade não serão aceitas em nosso blog ou nas redes sociais. 👎
Regras são regras; Caso você não as respeite, estará sujeito a bloqueio ou banimento imediato. ♀️♂️
Para mais informações, consulte a nossa política de comentários disponível no rodapé do Blog. Seja respeitoso e contribua para um ambiente saudável e produtivo! 🚫