This media is not supported in your browser
VIEW IN TELEGRAM
Это справочник с иллюстрациями, примерами и разборами стандартных модулей. Всё структурировано по разделам, легко искать нужную информацию и быстро применять её в коде. Отличный помощник: можно не копать в англо-оригинале, а сразу находить ответ.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝19❤11🔥9
Определяем, бот ли пользователь по user-agent!
Когда ваш сайт получает HTTP-запрос, можно понять — это человек или бот. Это важно для аналитики, защиты API и фильтрации спама.
Напишем функцию, которая анализирует
Пример использования — как будто пришёл запрос от клиента:
Или в реальном веб-приложении (например, Flask):
🔥 Можно расширить: добавить список известных ботов, логировать IP или ограничивать доступ к API.
👉 Python Ready | #практика
Когда ваш сайт получает HTTP-запрос, можно понять — это человек или бот. Это важно для аналитики, защиты API и фильтрации спама.
Напишем функцию, которая анализирует
user-agent
и ищет признаки бота:def is_bot(user_agent):
ua = user_agent.lower()
bot_keywords = ['bot', 'crawl', 'spider']
return any(kw in ua for kw in bot_keywords)
Пример использования — как будто пришёл запрос от клиента:
ua_1 = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://google.com/bot.html)"
ua_2 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
print(is_bot(ua_1)) # True
print(is_bot(ua_2)) # False
Или в реальном веб-приложении (например, Flask):
from flask import request
@app.route("/")
def index():
if is_bot(request.headers.get("User-Agent", "")):
return "Access denied for bots", 403
return "Welcome, human!"
🔥 Можно расширить: добавить список известных ботов, логировать IP или ограничивать доступ к API.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍10🤝6
В этой шпаргалке — приёмы для пересечения, различия и проверки включённости между множествами. Особенно полезны при фильтрации, валидации данных, логическом сравнении и анализе множеств в задачах с условиями.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28❤10👍5🤝5
В статье:
• Реализуешь асинхронный API на FastAPI для отслеживания курсов валют
• Настроишь APScheduler для регулярных запросов по расписанию
• Напишешь маршруты /rates, /history, /subscribe
• Развернёшь проект и настроишь автоматический запуск
🔊 Продолжай читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍7🔥6
Когда ты работаешь с обновляемыми данными — важно понять, что изменилось. Это основа для логирования, отладки и отслеживания ошибок.
В этой задаче:
• Сравним два датафрейма по ключам.
• Найдём новые, удалённые и изменённые строки.
• Отсечём совпадающие — они неинтересны.
• Сделаем универсальную функцию сравнения.
Отличный инструмент для отслеживания изменений в таблицах при импортах, синхронизации или аудите.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24❤8👍7🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Это сочетание актуальной документации, новостей сообщества, сводок и обзоров статей, статей и гайдов по различным темам в Python — архитектура, библиотеки, фреймворки и др. Всё собрано аккуратно и структурировано.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍8🤝5🔥2
Группируем подряд идущие одинаковые элементы в списке!
Иногда требуется объединить соседние одинаковые значения, сохранив порядок. Это критично для корректного анализа логов, тегов и подготовки данных к последующей обработке.
Для этого используем
Функция возвращает список списков, где каждый внутренний список — группа соседних элементов.
Метод универсален и работает с любыми итерируемыми объектами.
🔥 Такой подход помогает структурировать данные для эффективного анализа и последующей обработки.
👉 Python Ready | #практика
Иногда требуется объединить соседние одинаковые значения, сохранив порядок. Это критично для корректного анализа логов, тегов и подготовки данных к последующей обработке.
Для этого используем
groupby
из модуля itertools
:from itertools import groupby
def group_adjacent(seq):
return [list(group) for _, group in groupby(seq)]
Функция возвращает список списков, где каждый внутренний список — группа соседних элементов.
data = 'aaabba'
print(group_adjacent(data))
# [['a', 'a', 'a'], ['b', 'b'], ['a']]
Метод универсален и работает с любыми итерируемыми объектами.
nums = [1,1,2,3,3,3,2]
print(group_adjacent(nums))
# [[1,1],[2],[3,3,3],[2]]
🔥 Такой подход помогает структурировать данные для эффективного анализа и последующей обработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18🔥8👍7🤝1
Научимся усиливать басы, снижать шум и вообще менять звук по-своему. Простой, но мощный приём для обработки аудио с нуля.
В этом гайде:
• Читаем файл.
• Выделяем частотные полосы.
• Усиливаем/приглушаем диапазоны.
Подойдёт для тех, кто хочет писать фильтры, ботов-музыкантов, или просто играться с аудио на Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤31👍10🔥8🤝4