Задать вопрос
@vitalysokolov

Как уменьшить число 5хх и 4хх ошибок при парсинге?

Задача: отследить, когда на сайте в календаре появится свободный слот для записи. Когда этот слот появится, никому не известно (может завтра, а может через месяц).

Написал парсер на python с MechanicalSoup. Начал тестировать запуск с 4-мя прокси, 4-мя разными user-agent (выбираются случайным образом при запуске) и таймаутом сначала в 2 минуты + случайное число от 1 до 60 секунд, затем с таймаутом в 5 минут + случайное число от 1 до 60 секунд.

Результат: с каким таймаутом ни запускаю, периодически сервер возвращает то 502 Bad Gateway, то 403 Forbidden. Причем когда тестил с таймаутом в 30 секунд также с 4-мя прокси, то после какого-то промежутка времени постоянно вылетало 502 Bad Gateway. На сервере nginx.

Как действует сервер? Отслеживает кол-во запросов от одного ip за какой-то промежуток времени, и если лимит превышен, то банит по ip?
Но тогда почему если я отправляю запросы раз в 5 минут, все равно встречаю 502?

Возможно я упускаю какую-то настройку, когда прикидываюсь браузером?
browser = mechanicalsoup.StatefulBrowser(
            soup_config={'features': 'lxml'},
            raise_on_404=False,
            user_agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)\
             Chrome/74.0.3729.131 Safari/537.366"
        )


Как уменьшить число 5хх и 4хх ошибок при парсинге?
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
Зависит не от парсера, а от сайта.
Совершенно нельзя предсказать, какую защиту от "злоумышленников" придумали и интегрировали.
Вплоть до того, что сайт тупо и регулярно падает сам по себе.
Ответ написан
@Andrey_Dolg
У вас 16 комбинаций user/ip + 2 минутный таймаут и юзер без кук так что это ещё хороший вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽