Недельный отчёт по сайту на 200 строках Python: Метрика, Вебмастер и очередь статей в одном сообщении
emil_easy 53 минуты назад Объяснить с Недельный отчёт по сайту на 200 строках Python: Метрика, Вебмастер и очередь статей в одном сообщении Средний 10 мин 2.1K Python * Поисковая оптимизация * Веб-аналитика * Кейс...
Will Anthropic have the best AI model at the end of October 2026?
Значимый прорыв формирует отрасль ИИ: emil_easy 53 минуты назад Объяснить с Недельный отчёт по сайту на 200 строках Python: Метрика, Вебмастер и очередь статей в одном сообщении Средний 10 мин 2. 1K Python * Поисковая оптимизация * Веб-аналитика * Кейс Раньше раз в неделю я открывал три вкладки: Яндекс. Вебмастер и папку с черновиками блога, и в каждой что-нибудь считал в уме, а к третьей вкладке обычно забывал, что искал в первой.
Надоело, и я написал скрипт без зависимостей, который собирает всё это в одно текстовое сообщение и шлёт в Телеграм и на почту. Ниже расскажу, как он устроен, какие запросы к API делает и что в нём пришлось обходить. Код взят из рабочего скрипта, только домен и идентификаторы я заменил на заглавные константы и example.
Технические детали
Что должно получитьсяОтчёт приходит обычным текстом, без разметки, и выглядит так (цифры выдуманы, реальный трафик сайта я здесь не показываю):📊 Сайт example. com за неделю Людей: 120 · заходов: 140 · страниц открыто: 310 Ушли сразу: 35% · нажали кнопку в Телеграм: 6 Откуда пришли: поиск — 40 прямые заходы и мессенджеры — 55 соцсети — 30 С площадок: Habr 12, Telegram 8 Что читали: /blog/primer-statii. html — 25 / — 20 🔍 Поиск Яндекса: страниц в поиске: 30 · исключено: 0 ИКС: ещё не присвоен — сайт молодой показов в выдаче за неделю: 50 Что спрашивают: «пример запроса» — показов 7, кликов 1 📝 В запасе статей: 12 · хватит до 25.
11Из Метрики я узнаю, сколько людей пришло и откуда, из Вебмастера, видит ли сайт поиск. А последняя строка про очередь подсказывает, когда пора садиться писать: в Метрике и Вебмастере такого нет, и затевал я всё как раз ради неё. Стек и доступыPython 3.
11 и только стандартная библиотека: urllib, smtplib, json. Тащить requests ради трёх десятков GET-запросов мне не захотелось. Доступы лежат в файле окружения рядом со скриптом, в репозиторий он не попадает, а имена переменных в файле-примере такие:YANDEX_OAUTH_TOKEN # Метрика + Вебмастер, один токен на оба API TELEGRAM_BOT_TOKEN TELEGRAM_CHAT_ID GMAIL_USER GMAIL_APP_PASSWORD # пароль приложения Google, не обычный парольЧитаю файл десятью строками кода, без python-dotenv:def load_env(): path = Path(__file__).
Отраслевые последствия
parent / ENV_FILE if path. exists(): for line in path. read_text(encoding="utf-8 .
splitlines(): line = line. strip() if line and not line. startswith("# and "=" in line: k, v = line.
strip("' setdefault я поставил намеренно: если переменная уже задана в окружении (например, в cron), файл её не перебьёт. Один OAuth-токен Яндекса подходит и Метрике, и Вебмастеру, если при создании приложения выдать ему права на оба сервиса. Заголовок у них одинаковый:def get(url, token): req = urllib.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.






