Scrapowanie strony i status kod - 429 Too many requests

0

Próbuję parsować (bez API) https://allegro.pl/listing?string=XXX
Po X żadaniach leci 429 już.

Długie losowe odstępy pomiędzy żądaniami nie zdają rezultatu. Ciasteczka ustawione. Gdy dostanę 429 to w przeglądarce (skąd skopiowane ciastka) muszę wprowadzić captcha i wtedy dalej przez jakiś czas działa.

Najstabilniejszy efekt był z desktopową apką + Webbrowser, ale zależałoby mi na skryptowym rozwiązaniu (bez selenium)
Delikatny temat, ale może jakieś sugestie ciekawe padną..

1

Może po prostu zbanowali IP skąd robisz te requesty?

2

czemu nie robisz tego przez api?

0

@maciejmt: ciasteczka się zmieniają po każdym zapytaniu.

0

To co mówi @overcq - możliwe, że ciastka się zmieniają po każdym zapytaniu (coś w rodzaju CSRF tokena). Poza tym kij wie, czy nie mają tam jakichś js challenge i jak od czasu do czasu nie zrobisz czegoś, co uznają za prawdziwą przeglądarkę to będą blokować.

A z ciekawostek, nie podejrzewam o to nikogo/Allegro: ja kiedyś w ramach zabezpieczeń p/botom myślałem o umieszczeniu jednego z zasobów na pseudoCDN - nie serwerze statycznych plików, tylko serwerze skryptowym, z walidacją sesji, co podaje jakiś bezużyteczny/o znikomej ważności, ale używany plik css, zakazać cache do tego, i jeżeli użytkownik go nie pobiera, a pobiera sobie kolejne podstrony - to znaczy, że robi to skryptowo. Tutaj wiadomo, Selenium czy inne pełnoprzeglądarkowe rozwiązania to ominą, ale odsianie 90% botów tanim kosztem zawsze spoko ;)

0

w ciastkach można zobaczyć, że jest DataDome. Prawdopodobnie jego zawartość się odświeża co jakiś czas i w zasadzie bez selenium się nie obejdzie.
Sprawdzałem z przechowywaniem ciastek w DB i to nie pomogło (w kwestii zmieniających się zawartości).

czy może komuś na MyDevil udało się skonfigurować Python+Selenium? Na BSD12 pamiętam, że mi działało. Przy 13tce utknąłem...

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