Jak ominąć ograniczenie szybkości .. Błąd HTML 1015 przy użyciu Pythona
Więc stworzyłem bota automatyzacji, aby zrobić dla mnie trochę rzeczy w Internecie .. Używając Selenium Python .. Po długich i męczących sesjach kodowania .. dni i noce pracy nad tym projektem w końcu go ukończyłem ... Tylko po to, by być losowo witany z błędem 1015 „Masz ograniczoną szybkość”.
Rozumiem, że ma to na celu zapobieganie atakom DDOS. Ale to poważny cios.
Skontaktowałem się z witryną w celu rozwiązania sprawy, ale bezskutecznie ... Ale oprogramowanie zabezpieczające strony trzeciej, którego używają, mówi, że strona internetowa może wykluczyć mój adres IP z ograniczenia szybkości.
Więc zastanawiałem się, czy istnieje inny sposób na obejście tego ... może z punktu widzenia kodowania ... Nie sądzę, aby rzeczy takie jak czyszczenie plików cookie cokolwiek rozwiązały ... lub czy tak, ponieważ jest to mój konkretny adres IP, który blokują
Uwaga: TofC strony internetowej, na której uruchamiam mojego bota, nie mówi, że nie możesz na nim używać oprogramowania do automatyzacji ... ale nie mówi też, że nie możesz.
Nie mam nic przeciwko kodowaniu więcej, aby zapobiec przypadkowym odmowom dostępu ... myślę, że trwa to 24 godziny, co może być szkodliwe, ponieważ ostatnim etapem tej kompilacji jest codzienne uruchamianie mojego programu przez długi czas.
Czy uważasz, że mógłbym skontaktować się z zabezpieczeniem strony trzeciej i poprosić witrynę internetową o udzielenie mi dostępu? Próbowałem już rozwiązać sprawę z witryną. Powiedzieli tylko, że: A. Z drugiej strony jest napisane, że wszystko w porządku B. Problem jest najprawdopodobniej po mojej stronie… „Może jakieś złośliwe oprogramowanie próbuje uzyskać dostęp do naszej witryny”, która… złośliwa nie, ale bot tak. To sprawiło, że pomyślałem, że może byłoby lepiej, gdybym sam rozwiązał tę sprawę.
Czy myślisz, że być może będę musiał zaimplementować czasy oczekiwania między procesami, czy coś. Utknąłem.
Dzięki za wszelką pomoc. I to jest pojedynczy bot!
Odpowiedzi
Jeśli zostaniesz losowo powitany ...

... oznacza, że właściciel witryny zaimplementował ograniczenie szybkości, które wpływa na ruch odwiedzających.
powód ograniczający stawkę
Cloudflare może ograniczyć ruch odwiedzających, próbując przeciwdziałać możliwemu atakowi Dictionary .
progi stawek
W ogólnych przypadkach Cloudflare ogranicza liczbę odwiedzających, gdy ruch odwiedzający przekracza progi limitów szybkości, które są obliczane przez podzielenie 24 godzin niezbuforowanych żądań witryny przez unikalnych odwiedzających w tych samych 24 godzinach. Następnie podziel przez szacowaną średnią liczbę minut wizyty. Na koniec pomnóż przez 4 (lub więcej), aby ustalić szacunkowy próg na minutę dla Twojej witryny. Wartość wyższa niż 4 jest w porządku, ponieważ większość ataków jest o rząd wielkości wyższa niż typowe wskaźniki ruchu.
Rozwiązanie
W takich przypadkach potencjalnym rozwiązaniem byłoby użycie niewykrytego chromedrivera do zainicjowania kontekstu przeglądania Chrome .
undetected-chromedriver to zoptymalizowana poprawka Selenium Chromedriver, która nie uruchamia usług anty-botowych, takich jak Distill Network / Imperva / DataDome / Botprotect.io. Automatycznie pobiera plik binarny sterownika i aktualizuje go.
Blok kodu:
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')
Bibliografia
Kilka odpowiednich szczegółowych dyskusji można znaleźć w:
- Aplikacja Selenium przekierowuje na stronę Cloudflare, gdy jest hostowana na Heroku
- Ograniczenie przepustnicy API Linkedin
Widzę tutaj dla Ciebie kilka możliwości:
- Wprowadź czas oczekiwania między żądaniami do witryny
- Zmniejsz liczbę żądań, które składasz
- Rozszerz swojego bota, aby wykrył, kiedy osiągnie limit i zmień swój adres IP (np. Poprzez ponowne uruchomienie routera)
Ta ostatnia jest najmniej preferowana, jak bym przypuszczała, a także najbardziej czasochłonna.
Po pierwsze: przeczytaj Warunki korzystania z witryny internetowej, na przykład spójrz na plik robots.txt, zwykle znajduje się on w katalogu głównym witryny, np . Www.google.com/robots.txt . Należy pamiętać, że działanie wbrew wyraźnym warunkom właściciela witryny może być niezgodne z prawem w zależności od jurysdykcji i może skutkować zablokowaniem przez właściciela narzędzia i / lub adresu IP.
https://www.robotstxt.org/robotstxt.html
Dzięki temu dowiesz się, na co właściciel witryny wyraźnie zezwala na automatyzację i skrobanie.
Po zapoznaniu się z warunkami witryny i zrozumieniu, na co zezwalają, i nie odpowiadają na Ciebie, i ustaleniu, że nie łamiesz warunków korzystania ze stron internetowych, jedyną realną inną opcją byłoby wykorzystanie serwerów proxy i / lub VPS dzięki temu systemowi uruchamiającemu skrypty będą dostępne różne adresy IP.