有时需要查考勤很麻烦,简单写个脚本

import requests
import re
import timeusername_dict={'1':['***','***'],'2':['***','***']}while True:#pro={"http":"http://127.0.0.1:8888"}#代理,proxies=pro#username='***'#password='****'s=input('username:\n1、***\n2、***\n')if s in username_dict:username=username_dict[s][0]password=username_dict[s][1]login_url = 'http://111.331.111.11:8008/******/*****/login.jsp'login_headers={"Host":"111.331.111.11:8008","Connection":"keep-alive","Content-Length":"4441","Cache-Control":"max-age=0","Upgrade-Insecure-Requests":"1","Origin":"http://111.331.111.11:8008","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer":"http://111.331.111.11:8008/******/*****/login.jsp","Accept-Encoding":"gzip, deflate","Accept-Language":"zh-CN,zh;q=0.9","Cookie":"JSESSIONID=E-FGWOdrNVseOTrep0FCG3EX5bm27hzt!517300088"}faceValue_response= requests.get(login_url,headers=login_headers)#第一次进网站,获取viewstate#print(faceValue_response.text)faceView=re.search(r'</script><input type="hidden" name="javax.f--------s.ViewState" id="javax.f--------s.ViewState" value="(.+?)" />',faceValue_response.text)#获取viewstatefaceView_new=faceView[1].replace('+','%2B').replace('/','%2F')#处理符号#print(faceView_new)login_text='loginform%3AstaffId='+username+'&loginform%3Apassword='+password+'&loginform_SUBMIT=1&loginform%3A_link_hidden_=&loginform%3A_idcl=loginform%3AloginBtn&javax.f--------s.ViewState='+faceView_new#print(str(login_text))login_response= requests.post(login_url,headers=login_headers,data=login_text)#登录cookies=('JSESSIONID='+login_response.cookies.get_dict()['JSESSIONID'])login_headers={"Host":"111.331.111.11:8008","Connection":"keep-alive","Content-Length":"16627","Cache-Control":"max-age=0","Upgrade-Insecure-Requests":"1","Origin":"http://111.331.111.11:8008","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer":"http://111.331.111.11:8008/*****/f--------s/check/person_detail.jsp","Accept-Encoding":"gzip, deflate","Accept-Language":"zh-CN,zh;q=0.9","Cookie":cookies}#点击个人考勤还会发送一个get请求,又有一大串viewstate返回,不带这个还查不出来cookies_dict={'':cookies}chaxun_url="http://111.331.111.11:8008/*****/f--------s/check/person_detail.jsp"gerenkaoqin_headers={"Host":"111.331.111.11:8008","Connection":"keep-alive","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer":"http://111.331.111.11:8008/*****/f--------s/center.jsp","Accept-Encoding":"gzip, deflate","Accept-Language":"zh-CN,zh;q=0.9","Cookie":cookies}gerenkaoqin_response = requests.get(chaxun_url,headers=gerenkaoqin_headers,cookies=cookies_dict)faceView2=re.search(r'</script><input type="hidden" name="javax.f--------s.ViewState" id="javax.f--------s.ViewState" value="(.+?)" />',gerenkaoqin_response.text)faceView2_new=faceView2[1].replace('+','%2B').replace('/','%2F').replace('=','%3D')#处理符号#print(faceView2_new)now_time = time.strftime('%Y-%m-%d')chaxun_text='form1%3Astartdate='+now_time+'&form1%3Aenddate='+now_time+'&form1%3Alook_detail=%E6%9F%A5++%E8%AF%A2&form1%3A_idJsp42=1&form1_SUBMIT=1&form1%3A_link_hidden_=&form1%3A_idcl=&javax.f--------s.ViewState='+faceView2_new#chaxun_text='form1%3Astartdate=2021-11-23&form1%3Aenddate=2021-11-23&form1%3Alook_detail=%E6%9F%A5++%E8%AF%A2&form1%3A_idJsp42=1&form1_SUBMIT=1&form1%3A_link_hidden_=&form1%3A_idcl=&javax.f--------s.ViewState='+faceView2_new#print(cookies)pro={"http":"http://127.0.0.1:8888"}chaxun_response = requests.post(chaxun_url,headers=login_headers,data=chaxun_text,cookies=cookies_dict)p = '<tr><td class="wai_b">.+?</tr>'#print(chaxun_response.text)kaoqin_match = re.findall(p,chaxun_response.text)#print(kaoqin_match)strinfo = re.compile('<.+?>')print('\n\n')try:for _ in kaoqin_match:b = strinfo.sub('  ',_)print(b)except:print('没找到')finally:print('\n')else:
#       print("无此人")break

记录一下,关于查考勤的脚本相关推荐

  1. iphone怎么找出来计算机纪录,通话清单怎么查出来(通话记录清单怎么查)

    通话清单怎么查出来(通话记录清单怎么查) 今天我要介绍的方法,具有如下优势. 1,可以查询自手机出厂以来所有通话记录,而去营业厅查询的话只可以查询最近6个月的. 2,不需要知道服务密码. 3,可对手机 ...

  2. 记录一个可以运行的nsi脚本

    nsi脚本运行实例 参考博文 https://www.cnblogs.com/it-tsz/p/12096031.html 记录一个可以运行的nsi脚本 ; 安装程序初始定义常量!define PRO ...

  3. 记录一次rediscluster 调用lua 脚本, 用于 list 批量获取

    记录一次rediscluster 调用lua 脚本 用于 list 批量获取 需求:用redis list 当作消息队列(原来的流程固定不能变更),需要增加消费速度 改进方案的思想(不考虑业务逻辑变更 ...

  4. android 查看包名 脚本,Monkeyscript---获取包名主界面名和位置坐标

    一.monkey随机事件有三类:点击.输入.手势 二.Monkeyscript难点:如何获取坐标 三.Monkeyscript API: 1.轨迹球(手势)事件: DispatchTrackball( ...

  5. windows下根据端口号查杀进程脚本(BAT脚本)

    使用方法如下: 修改脚本中的端口号,将文件存为.bat,然后双击即可运行!* 脚本代码如下,将8067修改为你需要杀掉的端口号即可: @echo off & setlocal EnableDe ...

  6. oppo手机怎么查计算机记录,oppo怎样查通话记录(oppo手机怎么查以前的通话记录)...

    oppo怎样查通话记录(oppo手机怎么查以前的通话记录) 第一步:搜索中国移动,进入移动官网 百度输入"中国移动"通信或相关关键词,点击带有官网字样,进入移动官网.百思特网 第二 ...

  7. 苹果手机计算机怎么看之前的记录,苹果怎么查之前的通话记录吗(苹果手机怎么查通话录音内容)...

    苹果怎么查之前的通话记录吗(苹果手机怎么查通话录音内容) 如何查询6个月以前的通话记录是网上常见的问题,因为不管是移动,联通,还是电信,都只可以查询最近6个月内的通话记录,那六个月以前的通话祥单是否有 ...

  8. 4 SQL server(定义表的主键 外键 ,记录增删改查)

    目录 1. 主键和外键 1.1  通过管理工具创建外键​ 1.2 通过脚本创建外键关联 2 新增表记录 2.1 图形界面 新增记录: 2.2 SQL脚本新增记录: 2.2.1 插入单条记录 ​ 2.2 ...

  9. 医院计算机网络故障演练记录,医院电脑服务器宕机演练脚本、过程及演练总结全套资料.doc...

    医院服务器宕机突发事件 演练记录 举办地点: 举办部门: 演习时间: 2018.5.20 突发服务器事件应急预案演练脚本 时间: 2018年5月20日16时00分 地点:门诊.收费处.住院处.药房. ...

最新文章

  1. 紧急更新下降难度,《王者荣耀》绝悟 AI 难倒一片玩家
  2. WP7进阶】——XNA游戏平面矩形碰撞检测
  3. 新手必看 | RVB2601开发板快速上手指南
  4. css设置一个div显示在另一个div的上层_CSS工程中常见问题-1
  5. mycat和应用程序集成_企业应用程序集成简介
  6. LeNet-5 卷积神经网络
  7. java输入学生名字输出_用java实现:输入学生个数,并输入每个学生的名字还有分数,结果输出分数最高和分数第二高的学生......
  8. C# ChartControl
  9. [Swift]添加暂无数据和暂无网络缺省页
  10. VMware虚拟机下载及Ubuntu安装指南
  11. ppt如何替换其他mo ban_“华南师范大学”专属PPT模板来了!华南师大同学们的PPT我们承包了!...
  12. 获取android手机设备的OAID
  13. 如何在matlab中表达点集,matlab练习程序(点集配准的SVD法)
  14. 用vlookup在excel表格里查找数据
  15. Spring Boot电商项目57:订单模块六:【前台:生成支付二维码】接口;(支付url的拼凑;利用zxing生成二维码;二维码图片的存储;真实地址与可访问地址的转换;)
  16. 量子计算机的定义,量子信息的基本概念
  17. 普渡大学计算机图形,普渡大学计算机图形学技术研究生语言及申请要求-费用-课程设置...
  18. 二叉树的基本运算实验报告C语言,实验三 二叉树基本操作与应用实验
  19. warning: Clock skew detected. Your build may be incomplete解决方法
  20. 怎么关闭win10自动更新?我们可以这么做!

热门文章

  1. 微信小程序原生实现抖音的视频翻页效果
  2. Linux实战教学笔记06:Linux系统基础优化
  3. Emoji For C++
  4. WIN10系统下,安装可视化工具GraphViz
  5. 微信小程序 代理报错
  6. asp.net中使用CustomValidator验证
  7. 天气变冷了,给你的爱人制作一个天气提醒小助手
  8. Oracle 创建表空间和用户
  9. java子网划分_子网划分讲解及练习(一)
  10. 系统性能优化、性能指标、性能测试