一、模拟登陆需要账号,密码的网址
一些不需要登陆的网址操作已经试过了,这次来用Python尝试需要登陆的网址,来利用cookie模拟登陆
由于我们教务系统有验证码偏困难一点,故挑了个软柿子捏,赛氪,赛氪-大学生竞赛活动社区我用的是火狐浏览器自带的F12开发者工具,打开网址输入账号,密码,登陆,如图
可以看到捕捉到很多post和get请求,第一个post请求就是我们提交账号和密码的
点击post请求的参数选项可以看到我们提交的参数在bian表单数据里,name为账户名,pass为加密后的密码,remember为是否记住密码,0为不记住密码。
我们再来看看headers,即消息头
我们把这些请求头加到post请求的headers后对网页进行模拟登陆,
Cookie为必填项,否则会报错:
{"code":403,"message":"访问超时,请重试,多次出现此提示请联系QQ:1409765583","data":[]}
便可以创建一个带有cookie的opener,在第一次访问登录的URL时,将登录后的cookie保存下来,然后利用带有这个cookie的opener来访问该网址的其他版块,查看登录之后才能看到的信息。
代码如下:
import urllib
from urllib import request
from http import cookiejar
login_url = "https://www.saikr.com/login"
postdata ={
"name": "your account","pass": "your password(加密后)"
}
header = {
"Accept":"application/json, text/javascript, */*; q=0.01",
"Accept-Language":"zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
"Connection":"keep-alive",
"