Конспекты
Смарт-конспекты YouTube-видео — ключевые идеи и инсайты без необходимости смотреть часовые ролики
Загрузка...
Смарт-конспекты YouTube-видео — ключевые идеи и инсайты без необходимости смотреть часовые ролики
Практическое руководство по обходу лимитов Wildberries с помощью Python. Рекурсивное дробление ценовых диапазонов для парсинга 100% товаров.
Маркетинг-стратег, IT-предприниматель, ментор по вайбкодингу
10+ лет в маркетинге, 300+ клиентских проектов: сайты, реклама, боты. Создатель GoBanana (228K+ пользователей, 11.6 млн ₽ выручки) и VibeCoderz. Делаю AI-продукты сам через Claude Code, Cursor, Windsurf и консультирую тех, кто хочет так же.
Об авторе →Zcode AI: Полный гид по визуальному интерфейсу для Claude Code и AI-агентов
Узнайте, как использовать Zcode для управления Claude Code, Gemini и Codex в едином GUI. Настройка провайдеров, MCP-серверов и визуальный вайбкодинг.
YouTube-канал с монетизацией из любой точки мира: Пошаговый гайд 2026
Инструкция по созданию YouTube-канала: обход блокировок SMS, настройка расширенных функций через виртуальные номера и правила безопасности для монетизации.
Windsurf Code Maps: Как глубоко понимать архитектуру проекта перед написанием кода
Полный гайд по Windsurf Code Maps, модели Sway 1.5 и Sway Grep. Узнайте, как визуализировать архитектуру кода и ускорить разработку в 13 раз.
Vk Fast Cash Strategy
Аудитория ВКонтакте — это те же люди, что и в Instagram, но 'социальный контракт' площадки другой. Если Instagram — это 'дорогой ресторан' с демонстрацией успеха, то VK — это 'душевная шашлычная'. Здесь не работает глянцевый 'успешный успех
Visual Prompt Engineering: Как создавать предсказуемый ИИ-дизайн в Nano Banana и Gemini
Методика Visual Prompt Engineering для создания профессионального дизайна: управление оптикой, текстом и материалами в связке Gemini и Nano Banana Pro.
Viral AI Apps Strategy 2026
Анализ более 100 виральных AI-приложений (Lerna, Cali, Reframe) показывает, что сложность продукта не коррелирует с доходом. Большинство лидеров рынка с выручкой от $300k до $2M в месяц — это простые утилиты с ОДНОЙ ключевой функцией. Весь
🎯 О чём этот конспект: Детальное руководство по обходу жесткого лимита Wildberries (и других маркетплейсов), который не позволяет просматривать более 60 страниц выдачи (около 6000 товаров). Разбирается уникальная методика динамического дробления поискового запроса на ценовые диапазоны для выгрузки миллионных баз данных.
👤 Кому будет полезно: Вайбкодерам, разработчикам парсеров и тем, кто хочет зарабатывать на продаже готовых выгрузок товаров (Data Mining).
✨ Что получите: Готовый Python-класс для автоматического подбора ценовых фильтров, который позволяет «достать» все товары из категории, даже если их там более 900 000.
Контекст: При обычном парсинге через GET-запросы Wildberries отдает данные только до 60-й страницы (по 100 товаров на каждой). При попытке запросить 61-ю страницу сервер возвращает ошибку 500. Это сделано для защиты от ботов, так как обычный пользователь редко листает так далеко. Чтобы обойти это ограничение и спарсить, например, 900 000 кроссовок, нужно использовать фильтры, которые сузят выборку до <5000 товаров в каждом сегменте. Самый универсальный фильтр — цена.
Выгода: Возможность выгружать полные базы данных товаров для аналитики, обходя любые лимиты пагинации.
Как применить:
catalog и изучить параметр priceU, который принимает диапазон цен в копейках.Контекст: Для автоматизации процесса создается класс VBSearchPhraseParserRange. Он инициализирует базовые параметры: поисковую фразу, куки (для обхода защиты) и шаги цены. Важно учитывать, что WB принимает цены в копейках (нужно умножать рубли на 100).
Выгода: Модульный код, который легко встроить в любой асинхронный парсер.
Как применить: Используйте следующую структуру инициализации класса:
import requests
from loguru import logger
class VBSearchPhraseParserRange:
def __init__(self, search_phrase: str, cookies: dict = None):
self.search_phrase = search_phrase
self.cookies = cookies
self.default_step = 500 * 100 # Шаг 500 рублей
self.max_count_of_goods = 5000 # Лимит WB
self.min_step = 10 * 100 # Минимальный порог дробления 10 руб
self.max_step = 5000 * 100 # Максимальный шаг для дорогих товаров
self.max_split = 10 # Глубина рекурсииКонтекст: Это «сердце» алгоритма. Если запрос к API показывает, что в выбранном диапазоне цен (например, 1000–2000 руб.) товаров больше 5000, функция вызывает саму себя для двух под-диапазонов (1000–1500 и 1501–2000). Процесс повторяется, пока каждый сегмент не станет «видимым» для парсера.
Выгода: Гарантированный охват 100% товаров в высококонкурентных категориях.
Как применить: Реализуйте метод split_price_range с защитой от бесконечной рекурсии:
def split_price_range(self, min_price, max_price, depth=0):
if depth > self.max_split or (max_price - min_price) <= self.min_step:
# Если достигли дна, возвращаем что есть
data = self.fetch_data(add_params={'priceU': f"{min_price};{max_price}"})
total = self.get_total(data)
return [DataPage(min_price, max_price, total)]
# Логика деления пополам
middle = (min_price + max_price) // 2
left = self.split_price_range(min_price, middle, depth + 1)
right = self.split_price_range(middle + 1, max_price, depth + 1)
return left + rightКонтекст: Цены распределены неравномерно. В сегменте «эконом» товаров очень много (нужен мелкий шаг), в сегменте «люкс» — мало (нужен огромный шаг для скорости). Алгоритм должен уметь ускоряться, если товаров в текущем окне меньше 500.
Выгода: Сокращение количества запросов к API в 5-10 раз, что снижает риск блокировки и увеличивает скорость работы.
Как применить: В основном цикле while добавьте проверку наполненности:
if data.total > self.max_count_of_goods:
# Если перебор — дробим рекурсивно
result_ranges.extend(self.split_price_range(start_price, finish_price))
elif data.total < 500:
# Если слишком мало — увеличиваем шаг для следующей итерации
self.step = self.max_step
else:
# Оптимально — сбрасываем на дефолт
self.step = self.default_stepКонтекст: Прежде чем начинать цикл, нужно узнать глобальные границы цен для конкретного поискового запроса. Эти данные WB отдает в объекте filters при первом пустом запросе.
Выгода: Автоматическая адаптация под любой товар — от спичек до телевизоров.
Как применить: Используйте вспомогательный метод для парсинга JSON-ответа:
def get_min_max_price(self, data):
filters = data.get('data', {}).get('filters', [])
for f in filters:
if f.get('name') == 'Цена':
return f.get('minPrice'), f.get('maxPrice')
return None, NoneВ: Почему нельзя просто парсить по брендам или продавцам?
О: У популярных брендов (Nike, Adidas) или крупных продавцов количество товаров также может превышать 5000-6000 единиц, и вы снова упретесь в лимит. Цена — более гибкий и дробный параметр.
В: Что делать, если WB заблокирует IP за частые запросы?
О: Используйте мобильные прокси с ротацией по ссылке (например, Mobile Proxy Space). При получении ошибки, отличной от 200, делайте GET-запрос на смену IP и повторяйте попытку.
В: Насколько точны данные о количестве товаров (Total)?
О: Цифра total в API WB — это оценочное значение (кэшированное). Реальное количество собранных товаров может отличаться на 1-3% из-за динамического обновления остатков.
В: Зачем нужны Cookies в запросе?
О: С недавних пор Wildberries усилил защиту. Без актуальных куки (особенно параметров проверки браузера) сервер может отдавать пустые результаты или ошибку 403.
В: Можно ли использовать этот метод для Ozon?
О: Да, принцип сегментации по цене универсален для большинства маркетплейсов (Ozon, AliExpress, Amazon), так как все они имеют лимиты на глубину пагинации для оптимизации нагрузки на БД.
Конспект создан на основе видео «Как спарсить миллион товаров? Парсинг Wildberries на Python» канала Parshub. Все права на оригинальный материал принадлежат авторам. Источник: https://youtu.be/iqZ1H8qyFlc