预约洗澡自动化(doge)

记录一次自动化脚本实战。

背景:学校洗澡预约得七点才能开始预约,但是我们军训六点五十就要集合,所以每次都预约不上澡。于是已经三天没洗澡的我拿起了电脑。

学校用的一个公众号进行预约,点击预约地点后会出现一个写着网址的界面。。。。登陆网址并且输入帐密就可以进行预约了。

抓包查看

请添加图片描述

post具体内容

POST /brmclg/api/bathRoom/bookOrder?time=1662579724046&bookstatusid=555 HTTP/1.1

发现

  • 网页虽然用的请求方法是post, 但是传参用的都是get方法。
  • 主要参数只有一个时间戳,一个浴室时间id,还有一个token。
  • 通过response发现每个时间段对应的浴室时间id

测试几个参数

1.时间戳

测试一下时间戳的作用。
时间戳乱改,浴室时间id不改。
查看预约记录,发现预约成功。
证明时间戳确实没啥用。。。。

2.浴室时间id

时间戳不变,测试浴室时间id。
预约记录都显示成功。

3.token

通过不同时间段的预约的request发现token不变,说明token在加密时并不包含浴室时间id。

开始编写自动化脚本

我命名为yuy.py

import requests,json
headers = {

  'Accept': 'application/json, text/javascript, */*; q=0.01',
  'X-Requested-With': 'XMLHttpRequest',
  'loginid': '*******',
  'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
  'Accept-Encoding': 'gzip, deflate',
  'token': '************hb***iO==J-----J===========leH===i---wO-----------------------------------------------------------****************************',
  'Content-Type': 'application/json',
  'Origin': 'http://l*****ng.de===ng.com:8082',
  'Content-Length': '2',
  'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Mobile/15E148 Safari/604.1',
  'Referer': 'http://ligong.deshineng.com:8082/brmclg/html/main.html?v=3',
  'Connection': 'keep-alive'

}

fileName='123.txt'
bidlist=[692,679,680,592,591,590,589,588,555,554,553,537]
def book():
  for bid in bidlist:
    resp = requests.post('http://====g.d===neng.com:8082/brmclg/api/bathRoom/bookOrder?time=1662593480874&bookstatusid='+str(bid),headers=headers, json='\n')

if __name__=='__main__':
  for i in range(5):
    book()

总的来说就是用python requests库添加header

定时任务

设置一个定时任务每天七点让脚本自动运行,这样就才真正可以解放双手了。

我用的是mac,win的资料好像比较好找一点,所以我在这就不过多赘述了,就只写mac的操作方法

1.给权限

用终端cd 到文件所在的目录,或者直接把路径打在命令行上。

sudo chmod +x yuy.py
2.设定定时任务

可以多看一点关于crontab的文档,这里用的是crontab。

crontab -e

进入到vi界面,按 i 进行编辑
请添加图片描述
随后输入定时任务,下面是我的。(刚开始见到可能会有点懵逼)

0 7 * * * /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 /Users/mac/PycharmProjects/pythonProject1/pyproject/yuy.py

这条命令组成如下:
时间 python路径 程序路径
相关资源

我之前主要是卡在python的路径上了
不过我给你们找到了
相关资源

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值