无法使用python中的请求访问需要登录的网页的请求URL

2024-03-29 12:50:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的网站,我只是找不到解决我的问题。 我被困在登录页面。你知道吗

import requests

POST_LOGIN_URL = 'https://ocjene.skole.hr/pocetna/prijava'  # Login page
REQUEST_URL = 'https://ocjene.skole.hr/pregled/predmeti'  # Goal page for scraping

with requests.Session() as session:
    session.get(POST_LOGIN_URL)  # Loading all cookies...
    login_page = session.get(POST_LOGIN_URL)  # Login page content (for comparison)
    token = session.cookies["csrf_cookie"]  # This cookie on chrome has a valid csrf token

    payload = {
        'csrf_token': token,
        'user_login': 'xxx',
        'user_password': 'xxx'
    }
    post = session.post(POST_LOGIN_URL, data=payload)  # Logging in...

    afterLogin = session.get(REQUEST_URL)  # This is where I need to get all the content, but...

print(subject_math.content)
print(login_page.content)
# These two share exact same content, except the csrf token is different

我不确定登录是否成功。我仔细检查了一切, 表单数据是正确的,我还尝试替换请求头,如下所示:

post = session.post(POST_LOGIN_URL, data=payload, headers=headers)

我错过了什么?谢谢。你知道吗


Tags: httpstokenurlgetsessionpagelogincontent