Как обойти ограничение по скорости .. Ошибка HTML 1015 с использованием Python

Dec 03 2020

Итак, я создал бота для автоматизации, чтобы делать кое-что для меня в Интернете ... Используя Selenium Python ... После долгих и утомительных сессий кодирования ... дней и ночей работы над этим проектом я, наконец, завершил его ... Только для того, чтобы быть случайным образом встречает ошибку 1015 «Вы ограничены по скорости».

Я так понимаю, это сделано для предотвращения DDOS-атак. Но это серьезный удар.

Я связался с веб-сайтом, чтобы решить эту проблему, но безрезультатно. Но стороннее программное обеспечение безопасности, которое они используют, говорит, что они могут предоставить моему IP-адресу исключение ограничения скорости.

Поэтому мне было интересно, есть ли другой способ обойти это ... может быть, с точки зрения кодирования ... Я не думаю, что такие вещи, как очистка файлов cookie, что-то решат ... или это будет, поскольку это мой конкретный IP-адрес, который они блокируют

Примечание. В TofC веб-сайта, на котором я запускаю своего бота, не говорится, что вы не можете использовать на нем программное обеспечение для автоматизации ... но не говорится, что вы тоже не можете.

Я не против еще написать код для предотвращения отказов в произвольном доступе ... который, как мне кажется, продлится 24 часа, что может быть вредным, так как на последнем этапе этой сборки моя программа должна запускаться ежедневно в течение длительных периодов времени.

Как вы думаете, я мог бы связаться со сторонней службой безопасности, чтобы попросить их попросить веб-сайт предоставить мне доступ ... Я уже пытался решить эту проблему с помощью веб-сайта. Все, что они сказали, это A. Там написано, что я в порядке B. Проблема, скорее всего, на моей стороне .. «Может быть, какое-то вредоносное ПО пытается получить доступ к нашему сайту», что .. злонамеренно нет, но бот - да. Вот что заставило меня подумать, что, может быть, будет лучше, если я сам решу этот вопрос.

Как вы думаете, мне, возможно, придется реализовать время ожидания между процессами или что-то в этом роде. Я застрял.

Спасибо за любую помощь. И это единственный бот!

Ответы

1 DebanjanB Dec 04 2020 at 07:08

Если вас случайно встретят с ...

... означает, что владелец сайта установил ограничение скорости, которое влияет на посещаемость вашего сайта .


причина ограничения скорости

Cloudflare может ограничивать трафик посетителей, пытаясь противостоять возможной атаке по словарю .


пороги ограничения скорости

В общих случаях Cloudflare ограничивает скорость посетителей, когда трафик посетителей пересекает пороговые значения ограничения скорости, которые рассчитываются путем деления 24 часов некэшированных запросов веб-сайтов на уникальных посетителей на те же 24 часа. Затем разделите на предполагаемое среднее количество минут посещения. Наконец, умножьте на 4 (или больше), чтобы установить приблизительный порог в минуту для вашего веб-сайта. Значение выше 4 нормально, так как большинство атак на порядок превышают типичную скорость трафика.


Решение

В этих случаях потенциальным решением было бы использовать необнаруженный chromedriver для инициализации контекста просмотра Chrome .

undetected-chromedriver - это оптимизированный патч Selenium Chromedriver, который не запускает службы защиты от ботов, такие как Distill Network / Imperva / DataDome / Botprotect.io. Он автоматически загружает двоичный файл драйвера и исправляет его.

  • Блок кода:

    import undetected_chromedriver as uc
    from selenium import webdriver
    
    options = webdriver.ChromeOptions() 
    options.add_argument("start-maximized")
    driver = uc.Chrome(options=options)
    driver.get('https://bet365.com')
    

Рекомендации

Вы можете найти пару соответствующих подробных обсуждений в:

  • Перенаправление приложения Selenium на страницу Cloudflare при размещении на Heroku
  • Ограничение ограничения API Linkedin
1 hhz Dec 03 2020 at 22:26

Я вижу здесь для вас несколько возможностей:

  • Введите время ожидания между запросами на сайт
  • Уменьшите количество запросов, которые вы делаете
  • Расширьте возможности своего бота, чтобы он обнаруживал, когда он достигает предела, и измените свой IP-адрес (например, перезапустив маршрутизатор).

Последний вариант, как я полагаю, наименее предпочтителен, а также требует много времени.

1 ex-zac-tly Dec 03 2020 at 22:30

Во-первых: ознакомьтесь с условиями использования веб-сайта, например, посмотрите файл robots.txt, обычно он находится в корне веб-сайта, например www.google.com/robots.txt . Обратите внимание, что нарушение явных условий владельца веб-сайта может быть незаконным в зависимости от юрисдикции и может привести к тому, что владелец заблокирует ваш инструмент и / или IP-адрес.

https://www.robotstxt.org/robotstxt.html

Это позволит вам узнать, что владелец веб-сайта явно разрешает автоматизировать и очистить.

После того, как вы ознакомились с условиями использования веб-сайта и поймете, что они позволяют, и они не ответят вам, и вы определили, что не нарушаете условия использования веб-сайтов, единственным реальным вариантом будет использование прокси и / или VPS. это даст системе, запускающей скрипты, разные IP-адреса.