// Python Dev
Парсинг данных в 2026: не надо гонять каждую страницу через LLM!
Опубликовано 13.05.2026
Среди разработчиков парсеров распространяется странный подход: каждую скачанную страницу отправлять в LLM с просьбой найти нужные данные. Звучит удобно — не надо разбираться в разметке, модель сама разберётся. Под это даже созданы специальные инструменты: ScrapeGraphAI, Crawl4AI, FireCrawl — все они так или иначе гоняют содержимое страниц через языковую модель на каждой итерации.
На практике это создаёт три проблемы одновременно.
Почему это плохой подход
Медленно. Цикл выглядит так: скачать страницу, отправить в модель, дождаться ответа, перейти к следующему URL. На тысячах страниц это превращается в очень долгое ожидание. Даже если запускать параллельно — всё равно каждая итерация цикла очень медленная.
Дорого. Вы сжигаете токены на HTML-тегах, стилях, навигационных меню и прочем мусоре, который не имеет никакого отношения к вашим данным. Полезная нагрузка — это часто 10% от того, что реально уходит в модель.
Недетерминировано. LLM может тихо пропустить часть данных, особенно если их много на странице. Вы не всегда это заметите сразу — а данные уже неполные. Это принципиальное отличие от классического краулера, который либо нашёл элемент по селектору, либо упал с ошибкой. Здесь провал происходит молча. И это, на мой взгляд, самое опасное: вы не можете быть уверены на 100%, что собранные данные совпадают с тем, что было на сайте.
Как делать правильно
Используйте LLM один раз — не на каждой странице.
Берёте несколько вариантов страниц с нужной информацией, загружаете разметку в модель и просите сгенерировать код для извлечения данных — CSS-селекторы или XPath. Дальше запускаете обычный краулер с этими настройками.
Выбор инструмента зависит от сложности сайта:
- BeautifulSoup — для статических страниц, где данные есть прямо в HTML. Лёгкий, быстрый, надёжный.
- Playwright (или Puppeteer) — для динамических сайтов с JavaScript-рендерингом, бесконечной прокруткой, модальными окнами и прочими радостями современного фронтенда. Поднимает настоящий браузер и ждёт, пока всё загрузится.
В итоге получаете систему, которая работает быстро, выдаёт предсказуемый результат и не тратит токены впустую. Именно так устроены поисковые краулеры — никто не гоняет GPT на каждую страницу индекса.
Где LLM всё же полезен в парсинге
LLM отлично справляется с задачами, где нужно понять структуру и написать код — ровно то, что мы и предлагаем делать. Также модель хорошо работает на этапе постобработки: классифицировать извлечённые данные, нормализовать форматы, извлечь смысл из неструктурированного текста. Это её стихия. Быть конвейером на каждый запрос — нет.
Итог
Разделите ответственности: LLM строит инструмент, краулер собирает данные, LLM при необходимости обрабатывает результат. Каждый делает то, что умеет лучше всего.
Если вам нужно собрать данные из интернета — товары с маркетплейсов, объявления, цены, отзывы, любые другие источники — обращайтесь. Найдём, спарсим, классифицируем.
// Python Dev
Другие статьи Python Dev
2026-06-10
Почему LLM не заменит хороший парсер. Кейс с автозапчастями
Ко мне пришёл клиент с задачей, которая на старте выглядит почти наивно простой — настолько, что даже немного подозрительно. Есть каталог: больше 50 000 …
2026-06-01
Зачем в свободное время я решил сделать миллиардное приложение ToDo
Todo-приложение — этакий Hello World в мире программирования. Каждый разработчик хоть раз его делал, обычно в самом начале, когда ещё не знаешь что писать, но …
2026-05-30
Два дня на задачу, которая казалась тривиальной: асинхронность загрузки в Telegram-ботах
Есть класс задач, которые выглядят как пятнадцать минут работы. Потом садишься за них и обнаруживаешь, что дело не в коде — дело в том, как устроена система под …
// Python Projects
Проекты Python Dev
2026-05-28
Робот-коллектор: автоматический обзвон должников
Система автоматического голосового обзвона должников с интеграцией с Google Таблицами, синтезом речи, распознаванием ответов и повторными попытками дозвона.
2026-05-27
Автоматическое ведение сети Telegram-каналов для турагента
Система автоматического ведения 150 Telegram-каналов с подбором туров и авиабилетов, генерацией визуалов и публикацией по расписанию.
2026-04-29
Автоматический протокол звонка: от записи до структурированного документа
Автоматический протокол звонка: от записи до структурированного документа Распределённые команды проводят много времени в звонках. Обсуждают задачи, принимают …
// Contact
Нужна помощь?
Свяжись со мной и я помогу решить проблему
Написать в TelegramОтвечаю в течение рабочего дня (03:00–13:00 GMT)
Или оставьте заявку здесь: