Can';t使用python登录网页
我是一个python新手,我一直在尝试放弃我大学的网站,以获得一份我的成绩列表,但到目前为止我运气不佳 我尝试使用代码中显示的表单数据登录POST请求,然后对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
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代码也是动态的,并且是模糊的,但是您应该能够使用正则表达式对其进行解析。