Все потоки
Поиск
Написать публикацию
Обновить
412.24

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Парсинг сайтов с Selenium на Python

Время на прочтение6 мин
Количество просмотров23

Многие начинающие разработчики сталкиваются с задачей, где нужно получить данные с сайта, а открытого API у него нет или его использование по каким-либо причинам невыгодно.

Самый очевидный из вариантов — парсинг HTML, но здесь часто возникает проблема: часть данных подгружается через JavaScript. В такие моменты использование условного requests и BeautifulSoup бесполезно.

Здесь на помощь приходит Selenium — инструмент для автоматизации браузера. С его помощью можно открывать страницы, имитируя действия настоящего пользователя, выполнять JavaScript и забирать данные в правильном виде.

Читать далее

Новости

Топ языков программирования в 2025 году: рейтинг IEEE и влияние на него языковых моделей

Время на прочтение4 мин
Количество просмотров288

Привет, Хабр! IEEE Spectrum опубликовал ежегодный рейтинг языков программирования за 2025 год. Там много всего интересного, на что стоит обратить внимание. Давайте разберемся, как формируется этот список, какие языки пока что удерживают лидерство, кто теряет позиции и почему, а также как ИИ все (ну или почти все) меняет. Поехали!

Читать далее

От десктопа к вебу: Как мы переносим Python-инструменты для стегоанализа на PHP

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров671

Привет, Хабр!

Мы в ChameleonLab продолжаем строить нашу образовательную платформу по стеганографии, и сегодня хотим поделиться еще одним важным шагом на этом пути. Наша главная цель — не просто создавать инструменты, а делать сложные темы из мира кибербезопасности доступными и понятными для всех, от студентов до специалистов.

Изначально наш продукт, ChameleonLab, был написан на Python (с использованием PyQt) как мощное десктопное приложение. Но мы всегда стремились к максимальной доступности. Что может быть доступнее, чем инструмент, который работает прямо в браузере, без скачивания и установки?

Читать далее

CPython — Сборка мусора изнутри, ч.2

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров1.6K

В прошлой части этого цикла статей мы рассмотрели, как происходит регистрация объектов в сборщике мусора, когда происходит планирование и вызов сборки мусора. В этой части разберем как запускается сборка мусора, подробно рассмотрим сборку для молодого поколения, затронем механизм подсчета ссылок и какие эффекты могут возникнуть при его работе.

Итак, продолжим.

Создание умных AI-агентов: полный курс по LangGraph от А до Я. Часть 3. Даём ИИ руки: работа с инструментами и MCP

Время на прочтение36 мин
Количество просмотров1.7K

В третьей части курса по созданию ИИ‑агентов совершаем революционный скачок: превращаем умных болтунов в настоящих цифровых исполнителей с «руками».

Учим агентов самостоятельно работать с файлами, базами данных, API и внешними системами. Больше никаких просьб «пришлите мне файл» — агенты сами найдут данные, проанализируют их и создадут отчёт.

Осваиваем три мощных паттерна: ручные графы с инструментами для максимального контроля, ReAct‑агентов для простоты использования и мультиагентные системы, где каждый агент — эксперт в своей области.

От простых файловых операций до комплексных систем с оркестратором, которые автоматически исследуют темы в интернете, структурируют данные и создают профессиональные отчёты.

Плюс разбираем Model Context Protocol (MCP) — универсальный стандарт для подключения любых инструментов.

Читать далее

Заказ звонка из email-рассылки с умным определением времени и задачей в CRM в один клик

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров176

Привет. Сегодня мы создадим полноценный инструмент повышения конверсии в звонок для email- и CRM-маркетологов. Речь пойдет о системе заказа обратного звонка прямо из письма.

Пользователь получает письмо с кликабельным календарем для выбора даты. Нажав на подходящий день, мы самостоятельно определяем время звонка и автоматически ставим задачу менеджеру в amoCRM.

Читать далее

Модуль datetime в Python для начинающих с домашним заданием

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.1K

Работа с датами и временем в Python — базовая задача, которая часто вызывает трудности у начинающих. В этой статье мы с нуля разберем встроенный модуль datetime, который элегантно решает большинство проблем. Вы научитесь получать текущее время, выполнять операции с датами, а главное — парсить строки и форматировать вывод с помощью strptime и strftime. Это пошаговое руководство для новичков, с практическим заданием на GitHub в конце.

Читать далее

Охота на призраков в JPEG: Практическое руководство по EXIF-стегоанализу

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров2K

Привет, Хабр! Представьте себе сценарий: вы — аналитик в области цифровой криминалистики. Вам на стол попадает, казалось бы, совершенно безобидное фото из отпуска, изъятое у объекта расследования. На первый взгляд — обычный пейзаж. Анализ пикселей не даёт ничего — нет никаких признаков классической стеганографии. Но интуиция подсказывает: что-то здесь не так.

Что, если секрет спрятан не в самом изображении, а в его «паспорте» — служебных метаданных? Именно здесь, в полях EXIF, и начинается наша охота на цифровых призраков. Сегодня мы погрузимся в мир стегоанализа и научимся вскрывать тайны, которые могут хранить в себе метаданные фотографий.

Читать далее

Почему Python такой медленный? И вот что об этом думают эксперты

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.2K

Команда Python for Devs подготовила перевод статьи о том, почему Python так медленный и что сообщество делает, чтобы это исправить. PyCon 2024 показал: Python ждут субинтерпретаторы, immortal objects, JIT-компиляция и другие технологии, которые могут ускорить его в разы.

Читать далее

Запускаем WebAssembly модули с Python хоста

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1K

WebAssembly - молодая, но довольно перспективная технология. WASM позволяет упаковать программу в бинарный формат, который можно запускать на любой системе, в изолированной среде.

В статье посмотрим как WASM-модули взаимодействуют с Python хостом. (Спойлер - не все так просто как хотелось, поддержка WASM в Python экосистеме пока слабая)

Читать далее

Будущее голосовых ассистентов: Когда ваш телефонный звонок примет ИИ

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров697

Привет, Хабр! Сегодня мы поговорим о технологии, которая незаметно становится частью нашей повседневности — голосовых ассистентах. Но если вы думаете, что Siri и Алиса уже достигли пика развития, приготовьтесь удивляться. Ближайшее будущее обещает нам ассистентов, которые не просто расскажут о погоде или включат музыку, а полноценно заменят человека в телефонных переговорах.

Читать далее

Самый быстрый способ загрузить 32 000 строк в PostgreSQL с помощью Python

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров1.9K

Команда Python for Devs подготовила перевод статьи о том, как найти самый быстрый способ загрузки данных в PostgreSQL с помощью Python. Автор пошагово сравнил разные методы — от построчных вставок до COPY с потоковой генерацией CSV — и показал, как ускорить процесс более чем в 250 раз при нулевом потреблении памяти.

Читать далее

RBACX — универсальный RBAC/ABAC-движок авторизации для Python

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров866

RBACX — авторизация без боли в Python-проектах

Когда доступ «размазан» по вьюхам и миддлварам, ревью и тесты превращаются в квест - появляется мотивация все это унифицировать. Я написал RBACX — лёгкий движок, где правила описываются декларативно (JSON/YAML), а проверка прав — это один понятный вызов. В статье показываю, как собрать из него аккуратный PDP для микросервисов и монолитов.

Я последние два года пишу бэкенд в стартапе MindUp — это мой первый пост на Хабре, и первая библиотека. Буду рад вопросам и критике. Если тема авторизации болит так же, как у меня, загляните!

Читать далее

Ближайшие события

Борьба с техническими долгами: как не допустить разрастания костылей в коде

Время на прочтение6 мин
Количество просмотров1.9K

Привет, Хабр! (И тебе, отчаянный страдалец, зашедший сюда в перерыве между дебагом очередного if (a == b) { return true; } else { return false; }. Мы знаем, ты не виноват, так вышло).

Каждый разработчик хоть раз в жизни прилаживал к своему коду «костыль». Знакомое чувство, правда?

Читать далее

SteosMorphy: опенсорс замена давно умершему PyMorphy2

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров745

PyMorphy2 — самая популярная библиотека для обработки слов в русском языке. Однако последний коммит в репозиторий этой библиотеки был сделан более 5 лет назад, а её установка на Python версии 3.11+ вызывает трудности, что делает использование данной библиотеки в нынешнее время максимально затруднительным.

Предлагаю рассмотреть новую Open Source библиотеку SteosMorphy, которая является аналогом PyMorphy, но делает всё быстрее и круче!

Ознакомиться

Парсинг pdf-отчётов публичных компаний для получения трейдерских инсайтов

Время на прочтение12 мин
Количество просмотров1.4K

Здравствуйте! В этой статье рассмотрим, как с помощью Python мониторить сайты компаний, парсить отчёты из PDF, извлекать ключевые данные и отправлять обработанные результаты в Telegram.

Публичные компании обязаны публиковать свою отчётность (финансовые результаты, годовые отчёты, пресс-релизы) на своих сайтах, часто в формате PDF. Для трейдера или инвестора скорость получения и анализа этой информации критически важна: тот, кто первым увидит тренд или аномалию в отчёте, может принять лучшее решение и получить преимущество на рынке.

Мы создадим скрипт на Python, который будет скачивать с сайта (разберём на примере Яндекс) отчёт в формате PDF, преобразовывать неструктурированный текст в структурированные данные, извлекать ключевые метрики (выручка, чистая прибыль) и отправлять сжатый инсайт в Telegram-бот.

Читать далее

OpenCode: Революция в мире AI-инструментов для разработки

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров9.6K

Привет, коллеги! Сегодня хочу поделиться с вами своими размышлениями о терминальном AI-агенте OpenCode и его сравнении с другими популярными решениями на рынке. После нескольких месяцев активного использования различных AI-инструментов для кодирования, могу с уверенностью сказать: OpenCode — это действительно что-то особенное.

Читать далее

Изучаем Python: модуль os для начинающих с практическим домашним заданием

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.4K

Разбираем один из самых полезных встроенных модулей Python — os. Простыми словами о том, как управлять файлами и папками прямо из кода. Пройдем путь от os.mkdir() до написания скрипта для автоматической сортировки. Статья для начинающих, но с упором на практику. В финале — домашнее задание на GitHub с автоматической проверкой решений.

Читать далее

«Просто используй Docker» — мой путь от Whisper к WhisperX

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.9K

Несколько недель назад я опубликовал статью о том, как превратить обычный диктофон в инструмент для расшифровки речи с помощью OpenAI Whisper. Идея была создать бесплатную и приватную систему ИИ диктофона, которая избавляет от необходимости переслушивать аудиозаписи лекций или выступлений. Тогда статья нашла своего читателя, собрав 140 закладок.

В процессе настройки я боролся с несовместимостью библиотек, подбирал нужные версии драйверов и вручную собирал рабочее окружение. В комментариях мне справедливо заметили: «Вместо всей этой возни можно было найти готовый Docker‑контейнер и поднять всё одной командой». Звучало логично, и я с энтузиазмом принял этот совет. Я ведь верю людям в интернете.

Новая идея — не просто расшифровывать речь, а разделять её по голосам — как на совещании или встрече. Это называется диаризацией, и для неё существует продвинутая версия — WhisperX. Цель была проста — получить на выходе не сплошное полотно текста, а готовый протокол встречи, где понятно, кто и что сказал. Казалось, с Docker это будет легко.

Но я заблуждался. Путь «в одну команду» оказался полон сюрпризов — всё сыпалось одно за другим: то скрипт не видел мои файлы, то не мог получить к ним доступ, то просто зависал без объяснения причин. Внутри этой «волшебной упаковки» царил хаос, и мне приходилось разбираться, почему она не хочет работать.

Но когда я всё починил и заставил систему работать, результат превзошёл мои ожидания. Новейшая модель large-v3 в связке с диаризацией выдала не просто текст, а структурированный диалог. Это был настолько лучший результат, что я смог передать его большой языковой модели (LLM) и получить глубокий анализ одной очень важной для меня личной ситуации — под таким углом, о котором я сам бы никогда не задумался.

Именно в этот момент мой скепсис в отношении «умных ИИ‑диктофонов», которые я критиковал в первой статье, сильно пошатнулся. Скорее всего их сила не в тотальной записи, а в возможности превращать хаос в структурированные данные, готовые для анализа.

В этой статье я хочу поделиться своим опытом прохождения этого квеста, показать, как обойти все скрытые сложности, и дать вам готовые инструкции, чтобы вы тоже могли превращать свои записи в осмысленные диалоги.

Весь код выложен на Гитхаб.

Зачем покупать ИИ диктофон?

Как генерировать Jupyter Notebooks из Python-скриптов с удобством

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.1K

Jupyter Notebook - прекрасный инструмент для исследовательской работы. Автоматическое форматирование LaTeX формул, структурированная логика в ячейках, результаты выполнения прямо в документе - всё это делает ноутбуки идеальными для презентации результатов анализа данных, обучения и демонстраций. Что может быть лучше?

Однако многие пользователи сталкивались с проблемами с отладкой ноутбуков и с использованием AI для их написания. Для их решения был разработан инструмент двусторонней конверсии из python в jupyter notebook и обратно py2jupyter.

Читать далее
1
23 ...

Вклад авторов