Problem z pobraniem całego kodu html

0

Cześć,
Chciałbym zdobyć informacje o moich ocenach z dziennika elektronicznego, jednak python daje mi jego okrojoną wersję,
kod html strony po kliknięciu "pokaż źródło strony"
mój kod:

import requests

res = requests.get('https://uonetplus-opiekun.vulcan.net.pl/powiatraciborski/011081/Oceny.mvc/Wszystkie')
print("//Status code:", res.status_code)
print(res.text)

kod html który mam z pyhona
Może problemem jest to że pyhton w żaden sposób się nie "loguje" do dziennika, ale status code ma wartość 200, mógłby mi ktoś wytłumaczyć dlaczego tak się dzieje?

2

A jak się logujesz w scrypcie - moze całkiem inną stronę dostajesz. Albo strona jest generowana przez JS i jak pobierasz stronę przez pythona to JS nie jest uruchamaiany.

0
Tomek Pycia napisał(a):

A jak się logujesz w scrypcie - moze całkiem inną stronę dostajesz.

Masz rację jak dałem adres do webbrowser to otworzyła mi się strona z logowaniem, masz jakiś pomysł jak to rozwiązać?

0

Wszystko zależy, jakie jest tam uwierzytelnianie. Możesz sprawdzić co ci leci w nagłówku Authorization jak wchodzisz na stronę jak jesteś zalogowany i ustawić taki nagłówek przy twoim wywołaniu.

0

Jak mam go znaleźć? gdy wchodzę w inspektora i wyszukuje słowa Authorization nic nie znajduje, jestem totalnie zielony w budowaniu stron

0

Jezeli musisz sie zalogowac do dziennika to musisz zmienic zapytanie na POST i wyslac swoj login/haslo w payloadzie. Status 200 bo po prostu odsyla Cie do strony z logowaniem.

0

zrobiłem coś z pomocą tego poradnika, ale chyba coś źle zrobiłem, mój kod wygląda tak:

import requests

cookies = {
    '_ga': 'GA1.3.835206336.1593702881',
    '_gid': 'GA1.3.1982969602.1593702881',
    'ASP.NET_SessionId': 'hpurvb2tu54lrcjrz41afq4v',
    'ARR_cufs.vulcan.net.pl': '655a706e7ce1d81c3091df958dbbf297a98388665cb7af8b122ff307cc6be672',
    'ARR_3S_ARR_ALL': '56e3138534810c6d38a919507a61da455e63604502a293a0102897c8dd10f48f',
    'UonetPlus_SLACookie': '637293075982588971',
}

headers = {
    'authority': 'cufs.vulcan.net.pl',
    'cache-control': 'max-age=0',
    'upgrade-insecure-requests': '1',
    'origin': 'https://cufs.vulcan.net.pl',
    'content-type': 'application/x-www-form-urlencoded',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-user': '?1',
    'sec-fetch-dest': 'document',
    'referer': 'https://cufs.vulcan.net.pl/powiatraciborski/Account/LogOn?ReturnUrl=%2Fpowiatraciborski%2FFS%2FLS%3Fwa%3Dwsignin1.0%26wtrealm%3Dhttps%253a%252f%252fuonetplus.vulcan.net.pl%252fpowiatraciborski%252fLoginEndpoint.aspx%26wctx%3Dhttps%253a%252f%252fuonetplus.vulcan.net.pl%252fpowiatraciborski%252fLoginEndpoint.aspx',
    'accept-language': 'pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7',
}

params = (
    ('ReturnUrl', '/powiatraciborski/FS/LS?wa=wsignin1.0&wtrealm=https%3a%2f%2fuonetplus.vulcan.net.pl%2fpowiatraciborski%2fLoginEndpoint.aspx&wctx=https%3a%2f%2fuonetplus.vulcan.net.pl%2fpowiatraciborski%2fLoginEndpoint.aspx'),
)

data = {
  'LoginName': 'Moj_login',
  'Password': 'Moje_haslo'
}
s = requests.Session()

s.post('https://cufs.vulcan.net.pl/powiatraciborski/Account/LogOn', headers=headers, params=params, cookies=cookies, data=data)
response = s.get('https://uonetplus-opiekun.vulcan.net.pl/powiatraciborski/011081/Oceny.mvc/Wszystkie')
print(response.text)

i dalej przenosi mnie na stronę logowania

0

Gdy mam wyłączony JS dostaje białą stronę z
Script is disabled. Click Submit to continue.

i przyciskiem submit i gdy w niego kliknę to mnie zalogowywuje
Czy to oznacza że muszę to zrobić w inny sposób?

1

Może popatrz na rozwiązania typu selenium które pozwalają na automatyczne wypełnianie formularzy. Może się okazać że bez znajomości wewnętrznej architektury systemu nie ogarniesz tego

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