Comment contourner le taux limité .. Erreur HTML 1015 en utilisant Python

Dec 03 2020

J'ai donc créé un robot d'automatisation pour faire des trucs pour moi sur Internet .. En utilisant Selenium Python..Après de longues sessions de codage grooling .. des jours et des nuits de travail sur ce projet, je l'ai enfin terminé ... Seulement pour être aléatoirement accueilli avec une erreur 1015 «Vous êtes limité».

Je comprends que c'est pour empêcher les attaques DDOS. Mais c'est un coup dur.

J'ai contacté le site Web pour résoudre le problème, mais en vain .. Mais le logiciel de sécurité tiers qu'ils utilisent dit qu'ils le site Web peut accorder à mon IP l'exclusion de la limitation de débit.

Je me demandais donc s'il existe un autre moyen de contourner cela ... peut-être du point de vue du codage ... Je ne pense pas que des trucs comme la suppression des cookies résoudront quoi que ce soit ... ou le fera-t-il car c'est mon adresse IP spécifique qu'ils bloquent

Remarque: le TofC du site Web sur lequel j'exécute mon bot ne dit pas que vous ne pouvez pas utiliser de logiciel d'automatisation dessus ... mais il ne dit pas que vous ne pouvez pas non plus.

Cela ne me dérange pas d'en coder davantage pour éviter les refus d'accès aléatoires ... que je pense durer 24 heures, ce qui peut être préjudiciable car la dernière étape de cette construction est de faire fonctionner mon programme quotidiennement pendant de longues périodes de temps.

Pensez-vous que je pourrais communiquer avec le tiers de sécurité pour lui demander de demander au site Web de m'accorder l'accès ... J'ai déjà essayé de résoudre le problème avec le site Web. Tout ce qu'ils ont dit, c'est que A. Sur le côté, il dit que je vais bien B. Le problème est probablement de mon côté .. "Peut-être qu'un logiciel malveillant essaie d'accéder à notre site Web" qui .. malveillant non mais un bot oui. C'est ce qui m'a fait penser que ce serait peut-être mieux si je résolvais le problème moi-même.

Pensez-vous que je pourrais devoir mettre en place des temps d'attente entre les processus ou quelque chose du genre. Je suis coincé.

Merci pour toute aide. Et c'est un seul bot!

Réponses

1 DebanjanB Dec 04 2020 at 07:08

Si vous êtes accueilli au hasard par ...

... implique que le propriétaire du site a mis en œuvre la limitation du taux qui affecte le trafic de vos visiteurs.


raison de limitation de débit

Cloudflare peut limiter le trafic des visiteurs en essayant de contrer une éventuelle attaque par dictionnaire .


seuils de limite de débit

Dans les cas génériques, Cloudflare limite le taux du visiteur lorsque le trafic du visiteur dépasse les seuils de limite de débit qui sont calculés en divisant 24 heures de demandes de sites Web non mis en cache par les visiteurs uniques pour les mêmes 24 heures. Ensuite, divisez par le nombre moyen estimé de minutes de visite. Enfin, multipliez par 4 (ou plus) pour établir un seuil estimé par minute pour votre site Web. Une valeur supérieure à 4 convient car la plupart des attaques sont d'un ordre de grandeur supérieur aux taux de trafic habituels.


Solution

Dans ces cas, une solution potentielle serait d'utiliser le pilote chromé non détecté pour initialiser le contexte de navigation Chrome .

undetected-chromedriver est un patch Selenium Chromedriver optimisé qui ne déclenche pas les services anti-bot comme Distill Network / Imperva / DataDome / Botprotect.io. Il télécharge automatiquement le binaire du pilote et le corrige.

  • Bloc de code:

    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')
    

Les références

Vous pouvez trouver quelques discussions détaillées pertinentes dans:

  • Redirection de l'application Selenium vers la page Cloudflare lorsqu'elle est hébergée sur Heroku
  • Limite de régulation de l'API Linkedin
1 hhz Dec 03 2020 at 22:26

Je vois quelques possibilités pour vous ici:

  • Introduire le temps d'attente entre les demandes sur le site
  • Réduisez les demandes que vous faites
  • Étendez votre bot pour détecter quand il atteint la limite et changez votre adresse IP (par exemple en redémarrant votre routeur)

Le dernier est le moins préférable je suppose et aussi le plus long.

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

Premièrement: lisez les conditions d'utilisation du site Web, par exemple, regardez le fichier robots.txt, généralement à la racine du site Web, comme www.google.com/robots.txt . Notez que le fait d'aller à l'encontre des conditions explicites du propriétaire du site Web peut être illégal selon la juridiction et peut amener le propriétaire à bloquer votre outil et / ou votre adresse IP.

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

Cela vous permettra de savoir ce que le propriétaire du site Web autorise explicitement pour l'automatisation et le grattage.

Une fois que vous avez examiné les conditions du site Web et compris ce qu'elles permettent, et qu'elles ne vous répondent pas, et que vous avez déterminé que vous ne violez pas les conditions d'utilisation du site Web, la seule vraie autre option serait d'utiliser des proxies et / ou des VPS cela donnera au système exécutant les scripts différentes adresses IP.