Alguém pode me ajudar a baixar as fotos do perfil que eu quero na pasta onde eu coloca no local?
import tkinter as tk
from tkinter import Entry, Button, Label, ttk, filedialog, messagebox
import os
import instaloader
# Função para escolher o local de destino
def choose_destination():
global download_folder
download_folder = filedialog.askdirectory()
destination_label.config(text=f"Local de destino: {download_folder}")
# Função para iniciar o download do perfil
def download_profile():
profile_name = username_entry.get()
num_photos = num_photos_var.get()
if not profile_name:
messagebox.showwarning("Aviso", "Por favor, insira um nome de perfil válido.")
return
if not isinstance(num_photos, int) or num_photos <= 0:
messagebox.showwarning("Aviso", "Por favor, insira um número válido e maior que zero de fotos.")
return
if not download_folder:
messagebox.showwarning("Aviso", "Por favor, escolha um local de destino.")
return
# Exibir mensagem de início do download
download_progress_label.config(text="Baixando fotos...")
L = instaloader.Instaloader(
download_pictures=True,
download_videos=False,
download_video_thumbnails=False,
download_geotags=False,
save_metadata=False,
post_metadata_txt_pattern=str(),
max_connection_attempts=0,
download_comments=False
)
profile = instaloader.Profile.from_username(L.context, profile_name)
count = 0
# Cria uma pasta com o nome do perfil no local de destino
profile_folder = os.path.join(download_folder, profile_name)
os.makedirs(profile_folder, exist_ok=True)
for post in profile.get_posts():
if count >= num_photos:
break
# Salva a foto na pasta do perfil
L.download_post(post, target=profile_folder)
count +=1
# Exibir mensagem de conclusão do download
messagebox.showinfo("Sucesso", f"Download concluído! Baixadas {count} fotos para a pasta '{profile_folder}'.")
download_progress_label.config(text="")
# Configuração da janela
root = tk.Tk()
root.title("Baixador do Instagram")
root.geometry("400x300")
# Rótulo e entrada para o nome do perfil
username_label = Label(root, text="Nome do perfil:", bg='white')
username_label.pack(padx=10, pady=5)
username_entry = Entry(root)
username_entry.pack(padx=10, pady=5)
# Rótulo e entrada para a quantidade de fotos
num_photos_label = Label(root, text="Quantidade de fotos:", bg='white')
num_photos_label.pack(padx=10, pady=5)
num_photos_var = tk.IntVar()
num_photos_entry = Entry(root, textvariable=num_photos_var)
num_photos_entry.pack(padx=10, pady=5)
# Botão para escolher o local de destino
choose_button = Button(root, text="Escolher Local de Destino", bg='DeepSkyBlue', command=choose_destination, activebackground='DeepSkyBlue')
choose_button.pack(padx=10, pady=10)
# Rótulo para mostrar o local de destino escolhido
download_folder = ""
destination_label = Label(root, text="Local de destino: ", bg='white')
destination_label.pack(padx=10, pady=5)
# Botão para iniciar o download
download_button = Button(root, text="Baixar", bg='DeepSkyBlue', command=download_profile, activebackground='DeepSkyBlue')
download_button.pack(padx=10, pady=10)
# Rótulo para mostrar o progresso do download
download_progress_label = Label(root, text="", fg="LimeGreen", bg='white')
download_progress_label.pack(padx=10, pady=5)
# Iniciar a janela principal
root.mainloop()
Por favor, me ajudem!