Witajcie.
Korzystam z biblioteki requests do pobrania kodu html witryny - skrypt do sprawdzania stanu konta (telefonia komórkowa).
Aplikacja loguje się do serwisu, a następnie po poprawnym zalogowaniu, pobiera kod jednej z podstron, wyszukuje na niej pewne wartości i wyświetla je.
Wszystko odbywa się w ramach jednej sesji.
Niestety, zawsze przy pierwszym uruchomieniu po dłuższej przerwie (~30 min.), ta wartość nie jest znajdowana.
Dopiero drugie uruchomienie daje oczekiwany rezultat, a każde kolejne nie sprawia problemów - jeżeli jest wykonywane odpowiednio często.
Pobrałem kod strony w momencie gdy wartość jest znaleziona, i wtedy gdy jej nie ma.
Ma to związek z dynamiczną zawartością i skryptami.
Czy może ktoś podpowiedzieć, jak zmusić bibliotekę requests do współpracy w tym zakresie?
Na diffie kod pobranych stron: https://www.diffchecker.com/dn7ziRjJ
Nagłówki ustawione moim zdaniem prawidłowo:
self.myheaders = requests.utils.default_headers()
self.myheaders.update(
{
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0',
}
)
self.s = requests.Session()