Содержание
Каждый день бизнес тратит часы на задачи которые можно автоматизировать за один вечер. Сотрудник копирует данные с сайта в таблицу, бухгалтер вручную формирует одинаковые отчёты, менеджер каждое утро рассылает одинаковые письма. Python решает все эти задачи быстро, надёжно и бесплатно.
В этой статье разберём 5 самых частых сценариев автоматизации с реальными примерами кода. Каждый из них можно внедрить за день.
1. Почему Python — лучший выбор для автоматизации
Python стал стандартом автоматизации не случайно. Вот почему:
- Простой синтаксис — код читается как обычный текст, даже если вы не программист
- Огромная экосистема — библиотеки для любой задачи: requests, pandas, openpyxl, selenium
- Кроссплатформенность — работает на Windows, Mac, Linux и любом сервере
- Бесплатный — никаких лицензий и подписок
- Большое комьюнити — ответ на любой вопрос найдётся на Stack Overflow
python -m venv venv
2. Парсинг данных с сайтов
Самый частый сценарий — автоматический сбор данных с сайтов: цены конкурентов, вакансии, новости, курсы валют. Для этого используем две библиотеки: requests для загрузки страниц и BeautifulSoup для парсинга HTML.
# Установка # pip install requests beautifulsoup4 import requests from bs4 import BeautifulSoup import csv # Загружаем страницу url = 'https://example.com/prices' response = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'}) soup = BeautifulSoup(response.text, 'html.parser') # Находим нужные элементы items = soup.find_all('div', class_='product-card') # Сохраняем в CSV with open('prices.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) writer.writerow(['Название', 'Цена']) for item in items: name = item.find('h2').text.strip() price = item.find('span', class_='price').text.strip() writer.writerow([name, price])
Если сайт использует JavaScript для загрузки данных, requests не поможет — нужен Selenium или Playwright. Они управляют реальным браузером и видят весь контент.
3. Автоматизация Excel и Google Sheets
Excel — самый распространённый инструмент для работы с данными в бизнесе. Python умеет читать, создавать и изменять Excel-файлы через библиотеки openpyxl и pandas.
# pip install openpyxl pandas import pandas as pd from openpyxl import load_workbook from openpyxl.styles import Font, PatternFill # Читаем данные из Excel df = pd.read_excel('sales.xlsx', sheet_name='Январь') # Считаем итоги total = df['Сумма'].sum() avg = df['Сумма'].mean() top = df.nlargest(5, 'Сумма') # Создаём отчёт with pd.ExcelWriter('report.xlsx', engine='openpyxl') as writer: df.to_excel(writer, sheet_name='Данные', index=False) top.to_excel(writer, sheet_name='Топ-5', index=False) print(f'Итого: {total:,.0f} ₽, Среднее: {avg:,.0f} ₽')
Для работы с Google Sheets используйте библиотеку gspread. После настройки Google API вы можете читать и записывать данные в таблицы так же просто как с локальными файлами.
4. Автоматическая отправка email
Автоматические письма — один из самых востребованных сценариев: уведомления о заказах, ежедневные отчёты, напоминания клиентам. Python отправляет письма через стандартную библиотеку smtplib или через сервисы типа SendGrid.
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase from email import encoders def send_report(to_email, subject, body, attachment=None): msg = MIMEMultipart() msg['From'] = 'reports@company.ru' msg['To'] = to_email msg['Subject'] = subject msg.attach(MIMEText(body, 'html', 'utf-8')) # Прикладываем файл если нужно if attachment: with open(attachment, 'rb') as f: part = MIMEBase('application', 'octet-stream') part.set_payload(f.read()) encoders.encode_base64(part) part.add_header('Content-Disposition', f'attachment; filename="{attachment}"') msg.attach(part) with smtplib.SMTP_SSL('smtp.yandex.ru', 465) as server: server.login('reports@company.ru', 'пароль_приложения') server.send_message(msg) # Использование send_report( to_email='director@company.ru', subject='Отчёт по продажам за вчера', body='<h2>Продажи: 847 000 ₽</h2><p>Подробности в приложении</p>', attachment='report.xlsx' )
5. Telegram-уведомления
Telegram-уведомления — самый удобный способ получать алерты от скриптов. Когда что-то пошло не так, остаток на складе упал ниже минимума или отчёт готов — сообщение приходит прямо в телефон.
# pip install python-telegram-bot import requests def send_telegram(message, token, chat_id): url = f'https://api.telegram.org/bot{token}/sendMessage' data = { 'chat_id': chat_id, 'text': message, 'parse_mode': 'Markdown' } response = requests.post(url, json=data) return response.json() # Настройки (получить у @BotFather) TOKEN = 'ваш_токен_бота' CHAT_ID = 'ваш_chat_id' # Отправляем уведомление send_telegram( message='🔔 *Новая заявка*\n\nИмя: Иван\nТелефон: +79001234567\nСтраница: /contacts/', token=TOKEN, chat_id=CHAT_ID )
getUpdates через API.
6. Запуск по расписанию
Скрипт написан — теперь нужно запускать его автоматически. Есть два подхода: cron (Linux/Mac) и библиотека schedule (Python).
Через cron (рекомендуется для серверов)
# Открыть редактор cron crontab -e # Примеры расписания: # Каждый день в 8:00 0 8 * * * /usr/bin/python3 /home/user/reports/daily_report.py # Каждый час 0 * * * * /usr/bin/python3 /home/user/parsers/prices.py # Каждые 15 минут по будням */15 * * * 1-5 /usr/bin/python3 /home/user/sync/crm_sync.py
Через библиотеку schedule (для простых случаев)
# pip install schedule import schedule import time def daily_job(): print('Запускаю ежедневный отчёт...') # ваш код здесь def hourly_job(): print('Синхронизирую данные...') # ваш код здесь schedule.every().day.at('08:00').do(daily_job) schedule.every().hour.do(hourly_job) while True: schedule.run_pending() time.sleep(60)
С чего начать
Если вы никогда не автоматизировали задачи с Python — вот пошаговый план:
- Установите Python 3.10+ с python.org
- Выберите одну конкретную рутинную задачу — самую раздражающую
- Найдите подходящую библиотеку (скорее всего она уже существует)
- Напишите минимальный скрипт — сначала просто чтобы работало
- Добавьте обработку ошибок и логирование
- Настройте запуск по расписанию через cron
Первый рабочий скрипт автоматизации занимает у большинства людей 2–4 часа. После этого порог входа резко снижается — каждый следующий делается быстрее.
Не хотите разбираться самостоятельно?
Гиперсайт занимается автоматизацией на Python с 2015 года. Опишите задачу — оценим и сделаем за вас. От 15 000 ₽, срок от 3 дней.
Обсудить задачу бесплатно