[tradein] scraper_kit Group F4a: миграция avito/* на shared base (_base.py) #2361

Closed
opened 2026-07-04 00:56:30 +00:00 by lekss361 · 0 comments
Owner

Родительский: #2352 (F4). Зависит от #2358 (F4-Foundation, смерджен) — теперь можно мигрировать.

Scope

scraper_kit/providers/avito/{serp,detail,imv}.py — заменить локальную конструкцию BrowserFetcher(...) и curl_cffi AsyncSession(...) на build_browser_fetcher()/build_curl_cffi_session()/build_document_session() из providers/_base.py.

⚠️ Caveat (из code-review #2358, обязательно проверить явно)

avito/serp.py сейчас конструирует BrowserFetcher только с source+endpoint (implicitly proxy_provider=None, use_pool=False через class defaults). При переключении на build_browser_fetcher(config, source)use_pool начнёт читать config.use_proxy_pool_browser вместо hardcoded False. Это реальное изменение поведения ЕСЛИ этот флаг когда-либо True в окружении avito. Проверить явно (grep use_proxy_pool_browser значение в текущих avito call sites/settings) ДО миграции, не обнаруживать по факту регрессии в проде.

DoD

  • Все конструкции BrowserFetcher/AsyncSession в avito/* используют shared base
  • Явно проверен и задокументирован use_pool-caveat выше
  • Существующий parity/regression test suite для avito остаётся зелёным (golden-parity тесты из E1 #2334 — diff=0 не должен пострадать)
  • Дублирование снижено (замерить строк до/после)

Не пересекается по файлам с F4b/F4c (cian/yandex) — можно параллельно. Пересекается частично с F4d (domclick) только по общему use_pool-паттерну, не по файлам — можно параллельно.

Refs #2352, #2358, #2309

Родительский: #2352 (F4). Зависит от #2358 (F4-Foundation, смерджен) — теперь можно мигрировать. ## Scope `scraper_kit/providers/avito/{serp,detail,imv}.py` — заменить локальную конструкцию `BrowserFetcher(...)` и curl_cffi `AsyncSession(...)` на `build_browser_fetcher()`/`build_curl_cffi_session()`/`build_document_session()` из `providers/_base.py`. ## ⚠️ Caveat (из code-review #2358, обязательно проверить явно) `avito/serp.py` сейчас конструирует `BrowserFetcher` только с `source`+`endpoint` (implicitly `proxy_provider=None, use_pool=False` через class defaults). При переключении на `build_browser_fetcher(config, source)` — `use_pool` начнёт читать `config.use_proxy_pool_browser` вместо hardcoded `False`. Это реальное изменение поведения ЕСЛИ этот флаг когда-либо `True` в окружении avito. **Проверить явно** (grep `use_proxy_pool_browser` значение в текущих avito call sites/settings) ДО миграции, не обнаруживать по факту регрессии в проде. ## DoD - [ ] Все конструкции `BrowserFetcher`/`AsyncSession` в avito/* используют shared base - [ ] Явно проверен и задокументирован use_pool-caveat выше - [ ] Существующий parity/regression test suite для avito остаётся зелёным (golden-parity тесты из E1 #2334 — diff=0 не должен пострадать) - [ ] Дублирование снижено (замерить строк до/после) Не пересекается по файлам с F4b/F4c (cian/yandex) — можно параллельно. Пересекается частично с F4d (domclick) только по общему use_pool-паттерну, не по файлам — можно параллельно. Refs #2352, #2358, #2309
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2361
No description provided.