Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用python登录网页_Python_Login_Web Scraping_Python Requests - Fatal编程技术网

Can';t使用python登录网页

Can';t使用python登录网页,python,login,web-scraping,python-requests,Python,Login,Web Scraping,Python Requests,我是一个python新手,我一直在尝试放弃我大学的网站,以获得一份我的成绩列表,但到目前为止我运气不佳 我尝试使用代码中显示的表单数据登录POST请求,然后对request\uURL发出GET请求。但是,当我尝试打印请求的url的内容时,会出现登录url的内容。所以很明显,我无法通过登录页面 import requests from bs4 import BeautifulSoup login_URL = 'http://gram-web.ionio.gr/unistudent/login.a

我是一个python新手,我一直在尝试放弃我大学的网站,以获得一份我的成绩列表,但到目前为止我运气不佳

我尝试使用代码中显示的表单数据登录POST请求,然后对
request\uURL
发出GET请求。但是,当我尝试打印请求的url的内容时,会出现登录url的内容。所以很明显,我无法通过登录页面

import requests
from bs4 import BeautifulSoup

login_URL = 'http://gram-web.ionio.gr/unistudent/login.asp'
request_URL = 'http://gram-web.ionio.gr/unistudent/stud_CResults.asp?studPg=1&mnuid=mnu3&'

payload = {
    'userName': 'username',
    'pwd': 'password',
    'submit1': 'Login',
    'loginTrue': 'login'
}

with requests.Session() as session:
    post = session.post(login_URL, data=payload)
    r = session.get(request_URL)
    root = BeautifulSoup(r.text, "html.parser")
    print(root) 
我假设该过程中涉及某种令牌值,因为当我尝试手动登录时,POST请求就是这样的。以前有人见过这个吗?这就是我无法登录的原因吗

这些也是请求头


检查正在发送的HTTP头。我必须设置
referer
标题才能执行类似的操作。@eduffy我已经用发送的标题更新了我的帖子。我必须把它们都设置好吗?cookie呢?你没有传递表单数据中的最后一个键值对(不管是什么)@KeyurPotdar就是这样。我不知道这是什么,每次我登录时,名称和值都不同,最后一个输入字段是动态的,由js生成。如果
selenium
不是一个选项,您可以在文档的第11个
标记中找到值(两个大十六进制字符串)。请注意,js代码也是动态的,并且是模糊的,但是您应该能够使用正则表达式对其进行解析。