zov-tech/backend-py/app/parsers
wasrusgen b27cf02aa2 yamarket: clean React JSON noise + extract title from URL slug
Я.Маркет рендерит SnippetConstructor виджет с JSON-стейтом ВНУТРИ a-тега.
Поэтому link.get_text() возвращает мусор типа {'widgets':{...}}.

Фикс:
- copy.copy(card) и удаление <script>/<noscript>/<noframes>/<template>
- Title теперь берётся из URL slug первым приоритетом (всегда чистый)
- _slug_to_title: транслитерация и капитализация
  'bosch-kgn39ul30u-dvukhkamernyy-kholodilnik-no-frost-seryy-metallik' →
  'Bosch KGN39UL30U Двухкамерный Холодильник NoFrost Серый Металлик'
2026-05-11 16:30:34 +03:00
..
__init__.py backend: working parsers — OZON + Citilink (DOM via Playwright) + WB 2026-05-11 13:53:07 +03:00
citilink.py citilink: dedup by product ID + filter Next.js placeholder images 2026-05-11 13:59:07 +03:00
dns.py backend: Proxy6 pool + parsers WB / OZON / Я.Маркет / DNS 2026-05-11 12:18:04 +03:00
ozon.py ozon: fix false-positive challenge detector (was catching 'challenge' in normal JS) 2026-05-11 13:54:13 +03:00
playwright_engine.py playwright_engine: route through proxy_pool — random residential IP per request 2026-05-11 16:05:36 +03:00
wb.py ai+report: deeper analysis — required pros/cons, category insights, source visibility 2026-05-11 14:34:08 +03:00
yamarket.py yamarket: clean React JSON noise + extract title from URL slug 2026-05-11 16:30:34 +03:00