图书馆自动预约脚本

目录

  • 前言
  • 一、编写思路
  • 二、具体实现
    • 1. 导入模块
    • 2. 登录部分
    • 3. 预约部分

前言

??开学第一天学校突然规定图书馆需要预约座位,正好大四开学时间也不是那么紧张,遂和室友突然萌生出写一个自动预约座位的脚本。而显然对于我这种第一次写脚本的超级小白来说,过程是异常艰辛。本篇文章我会把自己的编写流程记录在这里,也算是对这个小脚本的一个总结。第一次写博客缺乏经验,也欢迎大家纠正整个过程中存在的问题。


一、编写思路

??整个编写思路较为简单,首先是登录到学校的图书馆预约管理系统,这里要找到登录界面对应的URL。一般来说找到登录界面浏览器上方 址栏对应的地址即可,不过稳妥起见可以通过查看浏览器自带的抓包分析工具(以Chrome为例,点击右键,选择检查,在检查界面中选择Network)来看请求的URL。登录成功后,先手动操作一遍预约流程,每操作一步在检查界面中的Network部分查看有哪些请求包以及服务器相应的响应。接下来只需要按照抓包工具解析好的各种HTTP请求包的Header,Data等部分,按照预约流程的每一步,来用我们脚本模拟该HTTP请求即可,最后测试一下大功告成!

二、具体实现

1. 导入模块

??由于本脚本涉及 络请求,文本处理等功能,因此需要提前导入如下模块: 

2. 登录部分

??登录部分我一开始的思路是向web服务器提交我的用户名与密码,但是通过抓包分析发现每次请求的Header部分都有一个变化的值,导致每次POST请求后,响应头中的Location都没有指向下一个需要请求的地址。我尝试了很长时间也没有成功,于是打算通过浏览器的cookies进行登录。一般来说登录成功后下次再次登录,浏览器会通过本地存储的cookies来完成自动登录过程,无需再次输入密码。如果想查看cookies可以去翻一翻浏览器存储cookies的地方。当然也可以自动登录一下预约 址,通过查看抓包分析工具,找到相应的cookies。这里我的cookies已经作为GET请求的header部分。 
 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月5日
下一篇 2021年8月5日

相关推荐