技术文章 > Python技术 >  Python高级 > 正文

python实战之疫情期间学校云打卡系统

1.安装python

可以直接下载Python主页,需要路径环境配置,最好下载简单的编辑器。也可以在anaconda平台环境下下载配置,平台自动捆绑Spyder。本文操作使用的是anaconda安装的Python3.7.anaconda是开源的包、环境管理器,可以在同一个机器上安装不同版本的包和依赖,可以在不同的环境中切换。

2.代码示例

import requests

def school_clock(inputAccount , inputPassword , firstLocation , lastLocation ):
    ################# 第一个界面:进入登陆界面 ######################
    myHeaders1 = {
        'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 '
        #该页面只允许手机端登录
    }
    url = 'https://nco.zjgsu.edu.cn/genqrcode/2019032'
    r1 = requests.post(url, headers=myHeaders1) 
    ################# 第一个界面:进入登陆界面后的登录操作 ######################
    myHeaders2 = {
        'Upgrade-Insecure-Requests': '1',
        'Content-Type': 'application/x-www-form-urlencoded',
        'Cookie': 'zjgsusessionsid=s%3AGSYaaVwF_2pedsizsHYTYSY64hVl3vL_.NMnLf1bV1PJSAS%2FeZXUkcyPkFpBq%2BcMVQYq4XPHXAAU; _ncov_uuid=a59e0ac8-da06-4fb1-83d8-000976c317a9; _ncov_username=这里直接填入账号; _ncov_psswd=这里直接填入密码',
        'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 '
    }
    myHeaders2['Cookie'] = r1.headers['set-cookie']
    payload = {
        'name': ' ',
        'psswd': ' '
    }
    payload['name'] = inputAccount
    payload['psswd'] = inputPassword
    url = 'https://nco.zjgsu.edu.cn/login'
    r2=requests.post(url, data=payload, headers=myHeaders2)#登录操作

    ################# 第二个界面:填写报送信息 ######################
    myHeaders3 = {
        'Upgrade-Insecure-Requests': '1',
        'Content-Type': 'application/x-www-form-urlencoded',
        'Cookie': 'zjgsusessionsid=s%3AOIlBmUda3tnT-fWds6uWEKKADgTt3IAd.zQ1LcseRzDNFPv5EU1AlkyyWeSMz6424x6HK8cbov8Q; _ncov_uuid=03d31c9b-696f-4429-a0ca-6e2b7a2e10ce; _ncov_username=这里也是直接输入账号; _ncov_psswd=这里也是直接输入密码',
        'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 '
    }
    myHeaders3['Cookie'] = r2.headers['set-cookie']
    payload2 = {
        'uuid': 'a59e0ac8-da06-4fb1-83d8-000976c317a9',
        'locationInfo': '%E6%B5%99%E6%B1%9F%E7%9C%81%E6%9D%AD%E5%B7%9E%E5%B8%82',
        'currentResd': '%E6%B5%99%E6%B1%9F%E7%9C%81%E6%B8%A9%E5%B7%9E%E5%B8%82%E9%BE%99%E6%B8%AF%E5%B8%82%E4%B8%B4%E6%B8%AF%E8%B7%AF862%E5%8F%B7',
        'fromHbToZjDate': '',
        'fromHbToZj': 'C',
        'fromWtToHzDate': '',
        'fromWtToHz': 'B',
        'meetDate': '',
        'meetCase': 'C',
        'travelDate': '',
        'travelCase': 'D',
        'medObsvReason': '',
        'medObsv': 'B',
        'belowCaseDesc': '',
        'belowCase': 'D',
        'temperature': '',
        'notApplyReason': '',
        'hzQRCode': 'A',
        'specialDesc': ''
    }
    payload2['locationInfo'] = firstLocation
    payload2['currentResd'] = lastLocation
    url = 'https://nco.zjgsu.edu.cn/'
    r3 = requests.post(url, data=payload2, headers=myHeaders2)
    print(r3.text)
##################调用上述打卡函数######################
school_clock(inputAccount = '这里直接输入账号' ,inputPassword = '这里直接输入密码' ,firstLocation = '这里输入省市地区,如江苏省徐州市' ,lastLocation = '这里输入详细地址,如江苏省徐州市云龙区XXX大学' )

3.附加说明

(1)以上代码使用函数实现。

(2)以上代码中有8个数据需要用户自己输入数据的存储也可以使用txt文件,使用mysql实现数据库,这里由于数据有限而直接分配。

(3)注意:不同学校提交的打卡页面可能略有不同,需要用户自己修改post参数,这类网页只能通过手机端进入,若要查看这类网页的开发者模式,必须要带上旧版手机浏览器的User-Agent(eg:”Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1”)

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  python实战:面试爬虫岗位需要掌握哪些知识?
  python实战:如何用爬虫修改发布的招聘内容
  python实战之爬虫面试必备题目
  python实战: 获取最大值函数
  python实战:filter()函数中用None过滤
  python实战:求三角函数
  python实战:画正弦函数图像
  python实战:爬取网站的购买记录
相关视频章节
  Python语言的特点
  Python蟒蛇绘制实例编写
  Python蟒蛇绘制举一反三
  Python蟒蛇绘制代码分析
  解决提示“‘python’不是内部或外外部命令
  python编码规范
  python命名规范
作者信息

python学习网

认证0级讲师

最近文章
python中temp是什么意思 604
python爬虫是什么意思 995
python网络爬虫是什么 1009
视频教程分类