Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.04.2022
Сообщений: 9

Как обойти ошибку 429 на wb?

09.02.2026, 21:16. Показов 1031. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу парсер для мониторинга цен на Wildberries на Python. Использую библиотеку curl_cffi для имперсонации браузера (TLS-fingerprint) и мобильные прокси с ротацией IP.

Суть проблемы:
Скрипт ловит 429 Too Many Requests практически сразу.

Что я уже пробовал:
1. Прокси: Купил качественные мобильные прокси (меняю IP по API ссылке). Ротация проходит успешно, IP меняется (проверял через ifconfig), но WB всё равно дает 429 на первый-второй запрос.
2. Библиотека: Использую curl_cffi (Requests имперсонируют chrome110, edge99, safari и т.д.). Обычный requests не использую.
3. Задержки: Ставил паузы от 1 минуты до 10 минут между запросами.
4. Ручной тест: С того же IP (через браузер) на сайт заходит без проблем, капчи нет. Скрипт с теми же параметрами получает бан.

Технические детали:
URL запроса: https://search.wb.ru/exactmatc... /v9/search (пробовал и v7).
Параметры стандартные (appType=1, curr=rub, dest=-1257786...).
Заголовки: пробовал минимальные и полные (как в DevTools).

Код запроса:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from curl_cffi import requests as cffi_requests
 
url = 'https://search.wb.ru/exactmatch/ru/common/v9/search'
params = {
    'appType': '1', 'curr': 'rub', 'dest': '-1257786',
    'query': 'iphone 15', 'resultset': 'catalog', 'sort': 'popular',
    'spp': '30', 'suppressSpellcheck': 'false'
}
 
# Прокси формата http://login:pass@ip:port
proxies = {"http": "...", "https": "..."}
 
try:
    session = cffi_requests.Session(impersonate="chrome110")
    response = session.get(
        url,
        params=params,
        proxies=proxies,
        timeout=30
    )
    print(response.status_code) # Выдает 429
except Exception as e:
    print(e)
В чем может быть причина детекта?

1. Палит ли WB сам curl_cffi?
2. Нужно ли генерировать какие-то специфические Cookie (x-search-id, session) перед поисковым запросом?
3. Есть ли нюансы в порядке заголовков (Header Order) для WB?

Буду благодарен за любые наводки, куда копать, так как смена IP и User-Agent не помогает.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2026, 21:16
Ответы с готовыми решениями:

Как можно обойти ошибки [429 Too Many Requests] от Cloudflare
Всем привет. Есть код , который делает запросу к Cloudflare (авторизирует и вытаскивает...

<Response 429>
При парсинге сайта

Python asyncio / aiohttp API 429 response error
Пытаюсь написать асинхронный API-запрос, нашел подходящий пример, но в ответ получаю ошибку: &quot;429...

2
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
10.02.2026, 19:18
дам наводку -там сидят специально обученные люди, которых за денежку(!) просят писать защиту от парсюнов. И не только там.
Именно потому в браузере у тебя работает все, они шлют с фронта отпечаток, который точно говорит им, что это именно настоящий браузер, обойти это конечно можно, но ненадолго, точно повторяя все, что шлет браузер и то неизбежно со временем способ протухнет. Вариант самый простой и наверное даже быстрее твоих пауз в минуты - это селениум или плейрайт, где настоящие браузеры работают.
0
0 / 0 / 0
Регистрация: 03.04.2026
Сообщений: 1
03.04.2026, 18:30
polyana1, Привет. Я тоже парсер по вб клепаю и застопорился на этом же. Через Playwright выходит медленно, а через Api ловлю 429( Можешь написать мне ***
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.04.2026, 18:30
Помогаю со студенческими работами здесь

Как прочитать содержимое request.FILES.get и обойти ошибку 'NoneType' object has no attribute 'read'?
Я через ajax отправляю картинку, которую надо сохранить в определённой папке. Я это думаю сделать...

Как обойти 403 ошибку в urllib?
Перестал работать парсинг xml странички экспорта товаров. С компа работает, а с хостинга нет. ...

Как обойти ошибку NameError: name 'driver' is not defined
Привет! Сразу перейдем к делу, после запуска кода вылетаешь ошибка &quot;NameError: name 'driver' is not...

Как обойти ошибку IndexError: list index out of range
При парсинге данных со страницы (https://maxline.by/mstat.php?p=170838:663876:17831:11223321)...

Как обойти ошибку 403?
Загружаю своего телеграмм бота на pythonanywhere, чтобы он парсил информацию с сайта sinoptik.ua. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru