
Парсинг сайта на Python: requests и BeautifulSoup с нуля
За полчаса соберёте свой первый парсер: скачаете HTML через requests, вытащите заголовки и ссылки через BeautifulSoup и сохраните всё в CSV. Разбираем шаг за шагом, включая частые ошибки.

За полчаса соберёте свой первый парсер: скачаете HTML через requests, вытащите заголовки и ссылки через BeautifulSoup и сохраните всё в CSV. Разбираем шаг за шагом, включая частые ошибки.

Тысяча фотографий с именами IMG_0001 до IMG_1000, а нужны понятные названия с датой. Разберём, как переименовать их одним скриптом на Python за 15 минут.

Как поставить пакет из PyPI командой pip install, проверить, что он встал, и разобрать пять типичных ошибок установки — от «pip не найден» до конфликта версий.

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

Голый except: и except Exception глотают всё подряд — от опечатки в имени переменной до Ctrl+C. Разбираем, как ловить конкретные исключения и не прятать чужие ошибки.

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

Пять готовых шаблонов на модуле re: e-mail, телефон, дата, поиск чисел и замена по маске. Копируете, запускаете, разбираетесь на живых примерах примерно за час.

С чего начать работу с базовыми типами Python 3.12: как ведут себя строки, числа, списки и словари, где новичок спотыкается и как проверить, что всё работает.

Наивный datetime без tzinfo, вычитание времени вокруг перехода на летнее время и сравнение aware с naive — три ошибки, которые ломают отчёты и графики задач. Разбираем, где именно и как чинить.

За полчаса научитесь открывать текстовые файлы, разбирать CSV и сохранять данные в JSON без сломанной кодировки и битых строк. Всё на стандартной библиотеке Python 3.12.

Изменяемый объект в значении по умолчанию накапливает данные между вызовами, а «возврат нескольких значений» на деле возвращает один кортеж. Разбираем, как аргументы работают на самом деле.

Проверка if not x кажется безобидной, но она срабатывает на пустом списке, нуле и пустой строке. Разбираем, где это ломает логику и как писать условия так, чтобы код делал то, что вы имели в виду.