Descubra o poder da automação com Python com 4 códigos simples!
Neste post, você vai aprender códigos de automação com Python que vão simplificar o seu dia a dia, automatizando tarefas comuns que consomem nosso tempo.
De forma simples, vamos conhecer códigos para automatizar o envio de emails, organizar e renomear artigos, atualizar planilhas e extrair dados de páginas da internet!
Vem com a gente!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que você vai ver hoje?
Como enviar e-mails automaticamente com Python
Quem nunca precisou enviar o mesmo e-mail para várias pessoas? Seja um lembrete de um evento, um relatório semanal para a equipe ou uma mensagem de boas-vindas para novos membros, essa tarefa pode ser bastante repetitiva e cansativa.
Mas, sabendo um pouco de Python, você pode automatizar esse processo de forma simples e eficiente.
Para enviar e-mails com Python, vamos precisar de um módulo chamado smtplib e outro chamado email.
O smtplib é responsável por enviar o e-mail através de um servidor de e-mail (como Gmail, Outlook, etc.), enquanto o email nos ajuda a construir a estrutura da mensagem (remetente, destinatário, assunto, corpo do e-mail).
Vamos ver um exemplo prático de como enviar um e-mail simples usando o Gmail:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# Suas informações de e-mail
seu_email = "seu_email@gmail.com"
sua_senha = "sua_senha_do_gmail" # Atenção: veja as dicas de segurança abaixo!
# Informações do destinatário
email_destinatario = "email_do_destinatario@exemplo.com"
assunto = "Teste de e-mail automático com Python"
corpo = "Olá! Este é um e-mail enviado automaticamente com Python."
# Criação da mensagem
mensagem = MIMEMultipart()
mensagem['From'] = seu_email
mensagem['To'] = email_destinatario
mensagem['Subject'] = assunto
mensagem.attach(MIMEText(corpo, 'plain'))
try:
# Conexão com o servidor SMTP do Gmail
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as servidor:
servidor.login(seu_email, sua_senha)
servidor.sendmail(seu_email, email_destinatario, mensagem.as_string())
print("E-mail enviado com sucesso!")
except Exception as e:
print(f"Ocorreu um erro ao enviar o e-mail: {e}")Entendendo o código:
- Importação dos módulos: Importamos as bibliotecas
smtplibeemail. - Suas informações e do destinatário: Você precisa substituir
"seu_email@gmail.com"e"sua_senha_do_gmail"pelas suas credenciais do Gmail, e"email_do_destinatario@exemplo.com"pelo e-mail de quem você quer enviar a mensagem. Defina também o assunto e o corpo do e-mail. - Criação da mensagem: Criamos um objeto
MIMEMultipartpara construir a estrutura do e-mail. Definimos o remetente (From), o destinatário (To) e o assunto (Subject). Em seguida, adicionamos o corpo do e-mail usandoMIMEText. O'plain'indica que o texto é simples, sem formatação HTML. - Conexão com o servidor SMTP: Abrimos uma conexão segura (
SMTP_SSL) com o servidor do Gmail (smtp.gmail.com) na porta 465. - Login: Fazemos login no servidor usando suas credenciais.
- Envio do e-mail: Usamos o método
sendmail()para enviar o e-mail, especificando o remetente, o destinatário e a mensagem convertida para string (mensagem.as_string()). - Tratamento de erros: O bloco
try...exceptgarante que, se ocorrer algum problema durante o envio, uma mensagem de erro será exibida.
Dicas de segurança importantes:
- Nunca armazene sua senha diretamente no código! Para um uso mais seguro, considere usar variáveis de ambiente ou um arquivo de configuração separado para guardar suas credenciais.
- Se você estiver usando o Gmail, pode ser necessário ativar a opção "Acesso a apps menos seguros" nas configurações da sua conta Google ou gerar uma "Senha de app" para usar com scripts Python.
Com algumas modificações, você pode enviar e-mails para várias pessoas, adicionar anexos, formatar o corpo do e-mail com HTML e muito mais!
Organizando e renomeando arquivos automaticamente com Python
Quem nunca se deparou com uma pasta cheia de arquivos com nomes confusos e desorganizados? Fotos de viagens, documentos do trabalho, downloads da internet... Com o tempo, essa bagunça pode se tornar um pesadelo para encontrar o que precisamos. O Python pode te ajudar a colocar ordem nessa confusão de forma automática!
O módulo os do Python oferece diversas funcionalidades para interagir com o sistema operacional, incluindo manipulação de arquivos e diretórios. Vamos ver alguns exemplos práticos:
Exemplo 1: Organizando arquivos por tipo de extensão
Este script cria pastas para cada tipo de extensão de arquivo encontrado em um diretório específico e move os arquivos para suas respectivas pastas.
import os
import shutil
diretorio = "/caminho/para/sua/pasta" # Substitua pelo caminho da sua pasta
for filename in os.listdir(diretorio):
if os.path.isfile(os.path.join(diretorio, filename)):
nome_base, extensao = os.path.splitext(filename)
extensao = extensao.lstrip(".") # Remove o ponto da extensão
pasta_extensao = os.path.join(diretorio, extensao)
if not os.path.exists(pasta_extensao):
os.makedirs(pasta_extensao)
caminho_arquivo_antigo = os.path.join(diretorio, filename)
caminho_arquivo_novo = os.path.join(pasta_extensao, filename)
shutil.move(caminho_arquivo_antigo, caminho_arquivo_novo)
print("Arquivos organizados com sucesso!")Entendendo o código:
- Importação dos módulos: Importamos
ospara interagir com o sistema de arquivos eshutilpara mover arquivos. - Definição do diretório: Você precisa substituir
"/caminho/para/sua/pasta"pelo caminho da pasta que você quer organizar. - Iterando pelos arquivos: Usamos
os.listdir()para listar todos os itens (arquivos e pastas) dentro do diretório. - Verificando se é um arquivo:
os.path.isfile()verifica se o item atual é um arquivo. - Obtendo nome e extensão:
os.path.splitext()divide o nome do arquivo em nome base e extensão.extensao.lstrip(".")remove o ponto da extensão. - Criando a pasta da extensão: Construímos o caminho da pasta para a extensão atual.
os.path.exists()verifica se a pasta já existe eos.makedirs()cria a pasta se ela não existir. - Movendo o arquivo: Construímos os caminhos antigo e novo do arquivo e usamos
shutil.move()para mover o arquivo para a pasta correspondente.
Exemplo 2: Renomeando arquivos com base em um padrão
Este script renomeia arquivos em um diretório adicionando um prefixo a cada nome.
import os
diretorio = "/caminho/para/sua/pasta" # Substitua pelo caminho da sua pasta
prefixo = "ARQUIVO_"
for filename in os.listdir(diretorio):
if os.path.isfile(os.path.join(diretorio, filename)):
novo_nome = prefixo + filename
caminho_antigo = os.path.join(diretorio, filename)
caminho_novo = os.path.join(diretorio, novo_nome)
os.rename(caminho_antigo, caminho_novo)
print("Arquivos renomeados com sucesso!")Entendendo o código:
- Importação do módulo: Importamos o módulo
os. - Definição do diretório e prefixo: Você precisa substituir
"/caminho/para/sua/pasta"pelo caminho da sua pasta e definir o prefixo desejado na variávelprefixo. - Iterando pelos arquivos e renomeando: Similar ao exemplo anterior, iteramos pelos arquivos e, para cada arquivo, construímos o novo nome adicionando o prefixo. Usamos
os.rename()para renomear o arquivo.
Com o módulo os, as possibilidades são vastas! Você pode criar scripts para renomear arquivos com base em datas, remover espaços em branco dos nomes, converter letras maiúsculas em minúsculas e muito mais.
Como atualizar planilhas do Excel automaticamente com Python
Se você trabalha com planilhas do Excel, sabe o quanto pode ser demorado atualizar dados manualmente. Seja importar informações de outras fontes, calcular valores ou formatar células, essa tarefa pode consumir um tempo precioso. Python, com a ajuda de bibliotecas como openpyxl, pode automatizar essas atualizações, economizando seu tempo e evitando erros.
A biblioteca openpyxl permite ler e escrever arquivos Excel (.xlsx). Vamos ver um exemplo de como abrir uma planilha, modificar o valor de uma célula e salvar as alterações:
import openpyxl
# Caminho para o arquivo Excel
caminho_arquivo = "/caminho/para/sua/planilha.xlsx" # Substitua pelo caminho da sua planilha
try:
# Abre a planilha
workbook = openpyxl.load_workbook(caminho_arquivo)
# Seleciona a planilha ativa (a primeira por padrão)
sheet = workbook.active
# Modifica o valor da célula A1
sheet['A1'] = "Novo valor!"
# Salva as alterações na planilha
workbook.save(caminho_arquivo)
print("Planilha atualizada com sucesso!")
except FileNotFoundError:
print(f"Erro: O arquivo '{caminho_arquivo}' não foi encontrado.")
except Exception as e:
print(f"Ocorreu um erro ao atualizar a planilha: {e}")Entendendo o código:
- Importação do módulo: Importamos a biblioteca
openpyxl. - Definição do caminho do arquivo: Você precisa substituir
"/caminho/para/sua/planilha.xlsx"pelo caminho da sua planilha. - Abrindo a planilha:
openpyxl.load_workbook()abre o arquivo Excel. - Selecionando a planilha:
workbook.activeretorna a planilha ativa (geralmente a primeira). Você também pode acessar planilhas específicas pelo nome:sheet = workbook['NomeDaPlanilha']. - Modificando a célula: Podemos acessar células usando a notação de colunas e linhas (por exemplo,
'A1') e atribuir um novo valor a elas. - Salvando as alterações:
workbook.save()salva as modificações no arquivo. - Tratamento de erros: O bloco
try...exceptlida com possíveis erros, como o arquivo não ser encontrado.
Com openpyxl, você pode fazer muito mais do que apenas modificar células. Você pode:
- Ler dados de células específicas ou de intervalos de células.
- Escrever novos dados na planilha.
- Criar novas planilhas.
- Formatar células (alterar cor, fonte, alinhamento, etc.).
- Adicionar fórmulas.
- Ler e escrever gráficos (com algumas limitações).
Imagine poder automatizar a importação de dados de um arquivo CSV para sua planilha, calcular automaticamente totais e médias, ou formatar relatórios financeiros com apenas alguns cliques!
Como fazer web scraping para extrair dados da internet com Python
Muitas vezes, precisamos de informações que estão disponíveis na internet, mas não em um formato fácil de copiar e colar. O web scraping é uma técnica que permite extrair dados de websites de forma automatizada. Com Python e bibliotecas como requests e Beautiful Soup, você pode coletar informações de diversas fontes online e utilizá-las da maneira que precisar.
requests: Esta biblioteca permite fazer requisições HTTP para obter o conteúdo de uma página web (o código HTML).Beautiful Soup: Esta biblioteca ajuda a analisar o código HTML da página, tornando mais fácil encontrar e extrair os dados desejados.
Vamos ver um exemplo simples de como extrair os títulos de notícias de um determinado site:
import requests
from bs4 import BeautifulSoup
# URL do site que você quer extrair os dados
url = "https://www.exemplo.com.br/noticias" # Substitua pela URL desejada
try:
# Faz a requisição HTTP para obter o conteúdo da página
response = requests.get(url)
response.raise_for_status() # Lança uma exceção para erros HTTP (4xx ou 5xx)
# Cria um objeto BeautifulSoup para analisar o HTML
soup = BeautifulSoup(response.content, 'html.parser')
# Encontra todos os elementos HTML que contêm os títulos das notícias
# (você precisará inspecionar o código da página para identificar o elemento correto)
titulos_noticias = soup.find_all('h2', class_='titulo-noticia') # Exemplo: buscando tags <h2> com a classe 'titulo-noticia'
# Imprime os títulos das notícias encontrados
for titulo in titulos_noticias:
print(titulo.text.strip())
except requests.exceptions.RequestException as e:
print(f"Erro ao acessar a página: {e}")
except Exception as e:
print(f"Ocorreu um erro durante o scraping: {e}")Entendendo o código:
- Importação dos módulos: Importamos
requestspara fazer a requisição HTTP eBeautifulSouppara analisar o HTML. - Definição da URL: Você precisa substituir
"https://www.exemplo.com.br/noticias"pela URL do site que você quer extrair os dados. - Fazendo a requisição HTTP:
requests.get(url)envia uma requisição para o servidor do site e retorna a resposta.response.raise_for_status()verifica se a requisição foi bem-sucedida (código de status 200) e lança uma exceção se ocorrer algum erro. - Criando o objeto BeautifulSoup:
BeautifulSoup(response.content, 'html.parser')cria um objeto que representa a estrutura HTML da página, permitindo que você navegue e pesquise por elementos.'html.parser'é um dos parsers disponíveis para o BeautifulSoup. - Encontrando os elementos desejados:
soup.find_all('h2', class_='titulo-noticia')procura por todas as tags<h2>que possuem a classe CSStitulo-noticia. É crucial inspecionar o código fonte da página web que você quer extrair os dados para identificar as tags e classes HTML corretas que contêm as informações desejadas. Você pode fazer isso clicando com o botão direito na página e selecionando "Inspecionar" ou "Inspecionar elemento" no seu navegador. - Extraindo o texto: Iteramos pela lista de elementos encontrados (
titulos_noticias) e usamos.text.strip()para extrair o texto dentro da tag HTML, removendo espaços em branco extras no início e no final. - Tratamento de erros: O bloco
try...exceptlida com possíveis erros durante a requisição HTTP ou o processamento do HTML.
O web scraping pode ser usado para diversas finalidades, como:
- Monitorar preços de produtos em diferentes lojas online.
- Coletar dados para análise de mercado.
- Extrair informações de notícias e artigos.
- Automatizar o preenchimento de formulários (com cautela e respeito às políticas do site).
Importante: Ao fazer web scraping, é fundamental respeitar os termos de serviço e o arquivo robots.txt do site, que indicam quais partes do site podem ou não ser acessadas por robôs. Além disso, evite fazer um número excessivo de requisições em um curto período de tempo para não sobrecarregar o servidor do site.
Dica: Se você tem interesse em usar Python como uma ferramenta para explorar e otimizar sua interação com o mercado financeiro, aprenda automações e técnicas de análise de dados para tornar seus investimentos mais inteligentes e estratégicos.
Conclusão - 4 Automações com Python
Chegamos ao final desta jornada de descoberta do poder da automação com Python para não especialistas. Vimos como essa linguagem de programação pode simplificar tarefas que antes pareciam complexas e demoradas.
Desde o envio automático de e-mails até a organização de arquivos, a atualização de planilhas e a extração de dados da internet, o Python se mostra uma ferramenta versátil e acessível para otimizar o seu dia a dia.
Aproveite a variedade de conteúdos como este disponíveis no nosso blog e aprenda a fazer mais coisas incríveis programando em Python!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








