Scrapowanie danych skutkuje banem na stronie.

0

Hej,
mam skrypt, który scrapuje mi pewną stronę (od kilkunastu do kilkudziesięciu podstron). Do tej pory wszystko było ok, ale ostatnio coś pozmieniali i po sprawdzeniu 2-3 podstron dostaję bana na jakieś 15 minut. Póki co, problem rozwiązałem dodając time.sleep (2 sekundy) między kolejnymi sprawdzeniami podstron i niby to działa, ale teraz skrypt wykonuje się znacznie dłużej niż w 2-3 sekundy. Czy jest jakiś lepszy sposób żeby sobie z tym poradzić?

1

Korzystać z API jeśli jest dostępne.

2
  • przeczytaj regulamin
  • skontaktuj się z twórcą/zarządcą strony z prośbą o wskazanie łatwiejszego dostępu do danych
2

Tak, piszesz bota który Ci pobiera darmowe proxy z sieci. Jest ich mnóstwo więc możesz każde żądanie robić z innego adresu IP, ew. na zmianę.

2

Znajac życie to po prostu jakis cloudflare tam czuwa nad ant-DDoS. Ja bym jednak skontaktował się z autorem i spytał czy jest może jakieś ludzkie API.

0

Albo zrobić jakieś randomowe opóźnienia przed kolejnymi requestami, zarówno do całej strony (czyli nie co 2h, a randomowo, raz co 1h, raz co 10h) jak i poszczególnych podstron, bo jak znam życie mało kto tego pilnuje, a potem zdziwienie, że jakiś automat uznał wejście na 20 podstron w 2 sekundy za działanie innego automatu.

3

Zrob sleepa bazujacego na "random.uniform". Poza tym czym to skrapujesz ? Jesli zwykly request + beautiful soup to takie smaczki moga wychodzic. Jak stronka ma takie zabezpieczenia to warto pomyslec o selenium z opcja --headless (Zadziala podobnie jak request tylko ze skuteczniej ;))

1 użytkowników online, w tym zalogowanych: 0, gości: 1