Python para Back-End: APIs, Automação e Scripts Práticos

Python se tornou uma das linguagens mais versáteis para desenvolvimento back-end. Neste guia prático, você vai aprender 5 áreas essenciais com exemplos de código direto ao ponto: criação de APIs com Flask, manipulação de arquivos, automação de tarefas, web scraping e consumo de APIs REST. Se você já tem uma base em lógica de programação e quer aplicar Python em projetos reais, este tutorial foi feito para você.

Vamos começar com a mão no código. Para aproveitar ao máximo, tenha o Python 3 instalado e crie um ambiente virtual para cada projeto. Se precisar revisar os fundamentos, recomendo dar uma olhada nos nossos exercícios de lógica de programação e revisar algoritmos e lógica para se sentir mais confiante.

1. Criando uma API Simples com Flask

Flask é um micro-framework que permite criar uma API REST em poucas linhas. Ideal para prototipar serviços e integrações. Primeiro, instale o Flask:

Terminal
pip install flask

Agora crie um arquivo app.py com o seguinte conteúdo:

app.py
from flask import Flask, jsonify, request

app = Flask(__name__)

# Banco de dados simulado
items = [
    {"id": 1, "nome": "Item A", "preco": 29.90},
    {"id": 2, "nome": "Item B", "preco": 59.90}
]

@app.route("/api/status", methods=["GET"])
def status():
    return jsonify({"status": "online", "versao": "1.0.0"})

@app.route("/api/items", methods=["GET"])
def list_items():
    return jsonify(items)

@app.route("/api/items", methods=["POST"])
def add_item():
    data = request.get_json()
    novo_id = len(items) + 1
    items.append({"id": novo_id, **data})
    return jsonify(items[-1]), 201

if __name__ == "__main__":
    app.run(debug=True, host="0.0.0.0", port=5000)

Rode o servidor com python app.py e teste os endpoints. Você criou uma API funcional em menos de 30 linhas! Esse conhecimento dialoga diretamente com o que vemos em PHP para back-end comparativo, onde mostramos a mesma lógica em outra linguagem.

2. Leitura e Escrita de Arquivos com Python

Manipular arquivos é uma tarefa constante no back-end: logs, configurações, dados de usuário em JSON ou CSV. Python torna isso trivial. Veja como ler e escrever arquivos de forma robusta:

file_io.py
import json
import csv

# Escrevendo um arquivo JSON
dados = {"nome": "Projeto X", "status": "ativo", "versao": 2}
with open("config.json", "w", encoding="utf-8") as f:
    json.dump(dados, f, indent=2)

# Lendo um arquivo JSON
with open("config.json", "r", encoding="utf-8") as f:
    config = json.load(f)
    print(config["nome"])

# Lendo um CSV
with open("usuarios.csv", "r", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for linha in reader:
        print(f"{linha['nome']} - {linha['email']}")

O gerenciador de contexto with garante que o arquivo seja fechado corretamente, mesmo em caso de erro. Essa prática é essencial para evitar vazamento de recursos. Aprofunde seus conhecimentos em estruturas de dados em Python para lidar com conjuntos maiores de informações.

3. Automação de Tarefas Repetitivas

Python é a escolha número um para automação. Com bibliotecas padrão como os, shutil e schedule, você pode organizar arquivos, renomear lotes e agendar tarefas. Vamos a um exemplo prático que organiza a pasta de Downloads por extensão:

automacao.py
import os
import shutil
from pathlib import Path

downloads = Path.home() / "Downloads"
extensoes = {
    ".jpg": "Imagens", ".png": "Imagens",
    ".pdf": "Documentos", ".docx": "Documentos",
    ".mp3": "Musicas", ".mp4": "Videos",
}

for arquivo in downloads.iterdir():
    if arquivo.is_file():
        pasta_destino = extensoes.get(arquivo.suffix.lower())
        if pasta_destino:
            destino = downloads / pasta_destino
            destino.mkdir(exist_ok=True)
            shutil.move(str(arquivo), str(destino / arquivo.name))
            print(f"Movido: {arquivo.name} -> {pasta_destino}")

Esse script simples pode economizar horas de trabalho manual. Você pode expandir a lógica para fazer backup de bancos de dados, enviar e-mails automáticos ou gerar relatórios. Quer ir além? Veja como a automação se conecta com conceitos de desenvolvimento back-end em PHP para tarefas de manutenção de servidores.

4. Web Scraping Básico com BeautifulSoup

Coletar dados públicos da web é uma habilidade poderosa. Com requests e BeautifulSoup você extrai informações estruturadas de páginas HTML. Instale as dependências:

Terminal
pip install requests beautifulsoup4
scraping.py
import requests
from bs4 import BeautifulSoup

URL = "https://example.com/blog"
resposta = requests.get(URL)
soup = BeautifulSoup(resposta.text, "html.parser")

# Extraindo títulos de artigos
for artigo in soup.select(".post-title"):
    titulo = artigo.get_text(strip=True)
    link = artigo.get("href")
    print(f"{titulo} -> {link}")

# Extraindo parágrafos principais
for paragrafo in soup.select(".post-content p"):
    texto = paragrafo.get_text(strip=True)
    if len(texto) > 50:
        print(f"Resumo: {texto[:100]}...")

Lembre-se sempre de respeitar o arquivo robots.txt dos sites e não sobrecarregar os servidores. O scraping é uma técnica incrível para criar seus próprios datasets e alimentar sistemas de recomendação.

5. Consumindo APIs REST com a Biblioteca Requests

Consumir APIs de terceiros é um dos pilares do desenvolvimento back-end moderno. A biblioteca requests simplifica todo o processo. Veja como consumir uma API pública de previsão do tempo:

api_client.py
import requests

BASE_URL = "https://api.open-meteo.com/v1/forecast"
params = {
    "latitude": -22.90,
    "longitude": -43.17,
    "hourly": "temperature_2m",
    "timezone": "America/Sao_Paulo",
    "forecast_days": 1
}

resposta = requests.get(BASE_URL, params=params)

if resposta.status_code == 200:
    dados = resposta.json()
    temperaturas = dados["hourly"]["temperature_2m"]
    print("Temperaturas previstas para hoje no Rio de Janeiro:")
    for i, temp in enumerate(temperaturas):
        print(f"Hora {i}: {temp}°C")
else:
    print(f"Erro na requisição: {resposta.status_code}")

Com requests.get() e .json() você transforma dados de qualquer API em dicionários Python. Combine isso com as estruturas de dados que abordamos nos estudos de estruturas de dados em Python para manipular as respostas de forma eficiente.

Perguntas Frequentes (FAQ)

Python é bom para back-end?

Sim, Python é excelente para back-end. Frameworks como Flask e Django são amplamente utilizados em startups e grandes empresas para construir APIs, sistemas web e automações. Sua sintaxe clara acelera o desenvolvimento e a manutenção.

Preciso aprender JavaScript antes de Python para back-end?

Não necessariamente. Python é uma ótima primeira linguagem. Se quiser se aprofundar em lógica, nossos estudos de algoritmos e lógica oferecem uma base sólida que vale para qualquer linguagem, inclusive Python.

Onde posso praticar Python na prática?

Além dos exemplos deste guia, você pode explorar projetos como criar seu próprio blog com Flask, automatizar backups de arquivos ou construir um bot para Discord. O importante é ter um projeto real para se motivar. Volte sempre para a página central de estudos de programação para mais conteúdos.

Resumo: Vimos como Python se aplica a 5 áreas cruciais do back-end: APIs (Flask), arquivos (JSON/CSV), automação (shutil/schedule), web scraping (BeautifulSoup) e consumo de APIs (requests). Escolha um dos exemplos, adapte para sua realidade e comece a construir. O back-end com Python é prático, direto e cheio de oportunidades.

Continue seus estudos: revise exercícios de lógica de programação, explore estruturas de dados, compare com PHP para back-end e aprofunde algoritmos e lógica. Bônus de boas-vindas até R$1.500