如何用Python优雅的登录校园网?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何用Python优雅的登录校园网?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3488字,纯文字阅读大概需要5分钟。
内容图文
![如何用Python优雅的登录校园网?](/upload/InfoBanner/zyjiaocheng/609/f38150a970f04c54accd48028ae332ea.jpg)
今天这篇文章的思路来源于校园网,很多的校园网在每次连接时都需要进入一个网址进行登录,这个步骤真的是非常非常的麻烦(大学生都懂~)。所以这次来教大家如何实现一键登录校园网。
一键登录校园网
首先我们来看下整个的流程。首先需要进行网络连接,连接之后会跳转到一个网址,也就是校园网登录的网址。
然后输入账号密码登录。
我们需要做到的效果就是点击一个可执行文件然后实现校园网的自动登录。(这里的可执行文件在mac中为excu文件、win中为exe)
我们首先解决如何通过Python进行登录,然后再解决打包的问题。
其实对于Python的登录,会爬虫的朋友应该很快就知道直接通过requests进行表单提交即可。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:568668415
首先,我们抓包获取校园网登录提交表单的地址:
同时,我们也拿到需要提交的表单格式,有些学校的校园网可能需要通过验证码验证,一般不会有很复杂的验证方式,如果需要验证,那么需要去破解一下验证码,https://github.com/hellokuls/cnnyzm。这里给出我之前写的验证码破解案例。
拿到了之后就好办了,直接post模拟提交就行了,这里我给出我所写的代码,基本的逻辑都是差不多,大家只需要改成自己学校的相关信息就可以了。
# encoding: utf-8
import requests
# 检查是否连接入校园网
def checkinternet():
url = 'xxxxxxxxxxxxxxxxxxxxxx' #校园网登录的地址,用来测试是否连接校园网
try:
code = requests.get(url, timeout=5).status_code
if code != 200:
print('没有网络哦~')
return 0
elif code == 200:
return 1
else:
return 2
except:
return 2
def login(username, password):
url = 'xxxxxxxxxxxxxxxxxx' # 校园网表单提交url
postdata={
'action': 'login',
'ac_id': 1,
'user_ip':'',
'nas_ip':'',
'user_mac':'',
'username': username,
'password': password,
'save_me': '0',
'ajax': 1
}
res = requests.post(url, data=postdata)
res.encoding = res.apparent_encoding
res = res.text
if 'login ok' in res: # 如果存在该字段
res = "登录成功!"
return res
if '5分钟' in res: # 多次错误提交可能会导致账户锁定5分钟
print("登录失败:")
return res
if 'E2620' in res: # 此处是账号已经在别的设备登录的情况,先注销然后再次登录
logout(url, username, password)
return login(username, password)
return res
# 退出当前账号的登录
def logout(url, username, password):
logout_data = {
'action': 'logout',
'username': username,
'password': password,
'ajax': 1
}
res1 = requests.post(url, data=logout_data)
res1.encoding = res1.apparent_encoding
res1 = res1.text
print("账户已退出!")
if __name__ == '__main__':
status = checkinternet()
if status == 0:
txt = login(xxxxx, xxxxxxxx) # 输入账号密码
print(txt)
elif status == 1:
print("有网络!")
txt = login(xxxxxxx, xxxxxxx)
print(txt)
else:
print("未知结果!")
讲解完了代码部分,我们该如何将它打包成一个可执行文件直接通过点击就可以进行联网呢?
这里推荐一个库—pyinstaller
pip install pyinstaller
这个库能够将py文件直接打包成可执行文件,支持win/mac/linux平台。
当我们写完文件后执行下面命令:
pyinstaller -F 文件名.py
执行完后,我们可以看到生成了几个文件夹,而可执行文件就在dist文件夹中。
放在桌面上,每次连接直接点击一下就可以连接校园网了~
这篇文章的源码已经上传到我自己的python学习群: 568668415的里面,想要的可以加入获取。
**以下内容无用,为本篇博客被搜索引擎抓取使用
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
python 基础教程 网络爬虫 python python 爬虫经典例子
python 爬虫
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)( ̄︶ ̄)( ̄︶ ̄)d
以上内容无用,为本篇博客被搜索引擎抓取使用
内容总结
以上是互联网集市为您收集整理的如何用Python优雅的登录校园网?全部内容,希望文章能够帮你解决如何用Python优雅的登录校园网?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。