我是靠谱客的博主 花痴抽屉,最近开发中收集的这篇文章主要介绍学习Python爬虫分析如何实现自动登录学生个人中心,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在学习简单的爬虫时,想试着登录管理系统练练手,首先分析了源码,发现了它所提交的数据是在下面这个函数中:
在这里插入图片描述
它是将账号和密码放在了一个变量:encoded中的,如果不确信的话也可以先登录看看,如下
在这里插入图片描述
需要注意的是账号与密码是加密的,而在源代码中引入的js文件中有个文件就是加密文件
在这里插入图片描述
在这里插入图片描述
那么既然知道它提交的数据以及如何加密,就可以开始工作了,首先也需要安装可以在python中可以编译js的库 ,pip install PyExecJS(注意需要js环境)
引入库 :

from urllib import parse,request
from http.cookiejar import CookieJar
import execjs

定义一个函数用来加密账号和密码的(需要注意的是调用"encodeInp"时,需要将账号和密码转换成字符串,否则调用函数时会报错):

def coder(username,password):
    with open("conwork.js") as f:
        cxt = execjs.compile(f.read())
        username_coder = cxt.call("encodeInp",str(username))
        password_coder = cxt.call("encodeInp",str(password))
        encoder = username_coder+"%%%"+password_coder
        f.close()
        print(encoder)
        return encoder

接着需要利用cookie模拟登陆:

cookiejar = CookieJar()
handler = request.HTTPCookieProcessor(cookiejar)
#创立请求对象
opener = request.build_opener(handler)
#配置模拟浏览器
headers={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"
}
#提交给服务器的参数
data={
	"encoder":coder(xxxxxxx,"xxxxxxx")
}
#登陆页面
login_url="http://xxxxx"
# 构建请求
req = request.Request(login_url,headers=headers,data=parse.urlencode(data).encode("utf-8"),method="POST")
#请求页面
opener.open(req)

上面的代码执行成功后,便表示登陆成功了,
接下来就是进入你想要进入的页面了

url = "http://xxxx"
req = request.Request(url,headers=headers)
resp = opener.open(req)

最后

以上就是花痴抽屉为你收集整理的学习Python爬虫分析如何实现自动登录学生个人中心的全部内容,希望文章能够帮你解决学习Python爬虫分析如何实现自动登录学生个人中心所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部