wb: skip proxy pool (use direct VPS-IP — residential were rate-limited)

This commit is contained in:
wasrusgen 2026-05-11 23:01:34 +03:00
parent e9b0db6772
commit d84a53f91d

View File

@ -92,16 +92,16 @@ def _generate_query_variants(query: str) -> list[str]:
def _search_wb_one(query: str, limit: int, timeout: float, max_retries: int) -> list[dict[str, Any]]: def _search_wb_one(query: str, limit: int, timeout: float, max_retries: int) -> list[dict[str, Any]]:
"""Один запрос к WB API.""" """Один запрос к WB API. БЕЗ прокси (residential IP уже исчерпали лимит)."""
import time import time
params = {**_DEFAULT_PARAMS, "query": query} params = {**_DEFAULT_PARAMS, "query": query}
backoff = 2.0 backoff = 2.0
for attempt in range(max_retries + 1): for attempt in range(max_retries + 1):
try: try:
# Используем прямое подключение (без прокси) — WB лимитирует per-IP, # WB лимитирует per-IP, но прямой VPS-IP не использовался для WB активно,
# но 1 запрос/несколько секунд проходит # поэтому ходим напрямую (без прокси-пула).
with proxy_pool.proxied_client(timeout=timeout, headers=_HEADERS) as client: with httpx.Client(timeout=timeout, headers=_HEADERS) as client:
resp = client.get(_SEARCH_URL, params=params) resp = client.get(_SEARCH_URL, params=params)
except httpx.HTTPError as e: except httpx.HTTPError as e:
log.warning("WB request failed (attempt %d): %s", attempt + 1, e) log.warning("WB request failed (attempt %d): %s", attempt + 1, e)