Как увеличить охват поисковых фраз Wildberries и ускорить #3465
Unanswered
Umbrella21-sudo
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Привет! Делаем телеграм-бота, который по артикулу WB (nmId) или ссылке показывает, по каким фразам карточка ранжируется, с позицией в органике и фактом рекламы.
Ограничения: без продавцких токенов, без Jam. Берём только публичные/фронтовые JSON (DevTools), autosuggest, безопасный скрапинг SERP и catalog-ads.
Что уже реализовано (Node.js, TypeScript):
BFS по подсказкам (autosuggest) + нормализация;
валидация фраз страницами SERP …/exactmatch/…search?query=&page= (парсинг products[*].id/name/brand и позиция нашего nmId);
проверка рекламы отдельным вызовом https://catalog-ads.wildberries.ru/api/v5/search?k... (если наш nmId среди рекламных — помечаем ⚡; CPM чаще null, знаем);
троттлинг Bottleneck (~0.45 RPS/хост), axios-retry (экспонента + джиттер);
Redis TTL-кэш (suggest/serp/card/ads), базовый скоринг;
Telegram UX: nmId-only → отдаём топ-5 + «Показать больше».
Проблемы:
Фраз меньше, чем у конкурентов (они показывают ~×3–×4 больше).
Время первого ответа: конкурент отдаёт топ-5 «мгновенно», а мы ждём BFS/валидацию.
Гипотеза, к которой идём: мгновенный ответ из индекса/кэша (OpenSearch с russian+shingle(2,3) и Redis Top-K), а глубокий сбор — в фоне.
Просим подсказать:
Правильная схема прединдекса для «nmId → фразы (2–3-граммы, синонимы, словоформы) → быстрый top-K», какие анализаторы/настройки используете в OpenSearch/ES для русского? (шинглы vs edge_ngram, стоп-слова, нормализация).
Параметры SERP-валидации (страницы, dest/spp/lang/curr) и толерантный парсер версий (v18/v4): что сейчас стабильно работает в проде? (мы используем exactmatch-роуты из фронта, как советуют гайды/разборы DevTools).
Реклама: подтверждаем факт через catalog-ads …/api/v5/search?keyword=; видели ли вы стабильные поля CPM публично, или считаем null и живём с эвристикой?
Морфология: что надёжнее для продакшена под русский — pymorphy2 сервисом или достаточно токенизации + шинглов?
Антибот и скорость: какой RPS/хост и backoff даёт наилучший «урожай» без 429/403? Имеет ли смысл пул IP/прокси при соблюдении robots/ToS?
Архитектура очередей (BullMQ): как лучше строить пайплайн (collect → verify → rank → persist), чтобы мгновенно отдавать топ-5 и фоново донаполнять?
Контекст для читателей: мы используем публичные фронтовые данные, подсмотренные в DevTools (как в профильных разборах), и не трогаем seller API; цель — легальный, «мягкий» сбор с кэшем и троттлингом.
Habr
Будем признательны за рабочие настройки анализаторов, примеры маппингов, витрины индекса и цифры по RPS/TTL из реальной практики. Спасибо!
Beta Was this translation helpful? Give feedback.
All reactions