Парсер товаров с маркетплейсов Ozon и Wildberries
Собирает название, цену, описание и характеристики с карточек товаров Ozon и Wildberries - по ссылке на поисковую выдачу или по ссылке на конкретный товар.
Работает через внутренние API маркетплейсов, что заметно быстрее и стабильнее браузерного парсинга.
- Технологии
- Возможности
- Начало работы
- Использование
- Настройка config.toml
- Особенности
- Зачем нужен проект
- Как это работает
- Структура проекта
- Python 3.11+
- Playwright - для headless Chromium
- curl_cffi - для HTTP-запросов к внутренним API
- Сбор товаров по ссылке на поисковую выдачу или по прямой ссылке на товар
- Полное извлечение описания и всех характеристик товара
- Обход анти-бота Ozon и Wildberries
- На Ozon - пометка в цене, если у другого продавца товар дешевле
- Сохранение результатов в JSON (
output/) - Подробные логи по каждому парсеру (
logs/) - Работа без графического интерфейса браузера
- ОС: совместим с Windows, Linux и macOS.
Если запускать из исходного кода:
- Git
- Python 3.11+
- Скачайте
Marketplace-Parser.zipпод свою ОС из раздела Releases. - Распакуйте и при необходимости измените
config.toml. - Запустите
run.exe(Chromium-компонент автоматически установится)
- Клонируйте репозиторий:
git clone https://github.com/MaxDev43/Marketplace-Parser.git
cd Marketplace-Parser- Создайте виртуальное окружение и установите зависимости:
Windows:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtLinux / macOS:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt-
При необходимости измените
config.toml. -
Запустите
run.py
python run.py- Скопируйте ссылку товара или с поисковой страницы Ozon/Wildberries (с уже выбранными фильтрами).
- Запустите основной файл
run.pyилиrun.exe - Вставьте скопированную ссылку. Программа автоматически определит маркетплейс и начнёт работу.
В этом файле можно изменить основные параметры работы программы. Например:
DEFAULT_PRODUCT_COUNT- количество товаров, которые нужно спарсить (по умолчанию - 15).- [ozon]
CHECK_CHEAPER_OFFERS- проверять для каждого товара более дешёвые предложения других продавцов (по умолчанию - true). - [wildberries]
DEST- код региона/пункта назначения для цен и остатков (по умолчанию - Москва). Если цены отличаются от вашего региона и вы знаете код пункта, то можете поменять.
- Не рекомендуется использовать VPN - маркетплейсы часто блокируют такие подключения.
- На Wildberries анти-бот слабее, поэтому парсер работает быстрее.
- Можно запускать парсеры напрямую:
python parsers/ozon.pyилиpython parsers/wildberries.py. - Имеются флаги (необязательные):
-n(количество),-o(имя файла),-m(маркетплейс)
Программа быстро собирает информацию по большому количеству товаров.
Собранные данные удобно отправлять нейросети для анализа и выбора лучшего товара - это значительно ускоряет и упрощает процесс сравнения.
По ссылке парсер определяет маркетплейс и режим - поисковая выдача или один товар. Headless-браузер один раз проходит анти-бот проверку и открывает сессию, через которую дальше идут запросы к внутреннему API маркетплейса - тому же, которым пользуется сам сайт. Так собирается список товаров из выдачи и полная карточка каждого: название, цена, описание, характеристики. Каждый товар приводится к единому формату и добавляется в общий список. В конце список сохраняется в JSON в папку output, а ход работы пишется в лог.
Marketplace-Parser/
├── parsers/
│ ├── ozon.py # парсер Ozon
│ └── wildberries.py # парсер Wildberries
├── output/ # результаты парсинга (.json)
├── logs/ # логи работы
├── browser/ # Chromium runtime (установится после первого запуска)
├── run.py # основной файл запуска
├── requirements.txt # зависимости
├── config.toml # конфигурация программы
├── README.md
└── LICENSE
Ошибки или предложения принимаются — создайте Issue.
Если проект оказался полезным, просьба поставить star ⭐