爬虫——图书馆抢座,Python果然无所不能!

爬虫——图书馆抢座 文章目录python爬虫 -----图书馆抢座验证码识别分析登录请求信息用户登录获取请求信息尤其是cookie通过cookie获取验证码分析抢座请求信息利用保存的cookie会话发送post 以及get请求抢座成功结果图利用多线程并发给多个账号进行同步抢座并发抢座成功截图 python爬虫 -----图书馆抢座 本人也是一位考研学子 奈何图书馆座位总抢不到 就利用学过的技术做了一个图书馆抢座系统。 主要原理是利用提交post表单的形式进行抢座。 验证码识别 整个爬虫最难的可能就是验证码了,小编自然也走过很多 阅读详情

python爬虫 -----图书馆抢座

本人也是一位考研学子 奈何图书馆座位总抢不到 就利用学过的技术做了一个图书馆抢座系统。
主要原理是利用提交post表单的形式进行抢座。

验证码识别

整个爬虫最难的可能就是验证码了,小编自然也走过很多歪路,有用过pytesseract识别,这pytesseract是真的垃圾,正确率不可直视 后来采用腾讯的一个接口进行测试 接口测试自然是可行的 奈何也得花个7-8秒 还不如手抢 在一次偶然的机会 通过文献、百度终于找到了大哥muggle_ocr 这个大哥可是拯救我于水火之中啊 0.3秒识别 废话不多说了代码粘上

		#file_name是验证码图片路径	
		with open(file_name, "rb") as f:
            captcha_bytes = f.read()
        text = sdk.predict(image_bytes=captcha_bytes)
1234

分析登录请求信息

实质还是以post的形式提交表单。通过fiddler抓包得到,提交的信息和请求头如下:

 

用户登录获取请求信息尤其是cookie

登录有一个重点就是利用session域保存一整个会话,为方便之后的获取验证码,以及抢座做准备。然后进行简单登录吧代码如下:

def login(self,username,password,quyu1,js3,zuoweihao):
        ses = requests.session()
        url='http://172.16.47.84/Login.aspx'
        date={
            '__VIEWSTATE': '/wEPDwUJODE2Mzg3MTk0ZGTiyMF48vnOd3k6J7zu3Z26Lhf+t0nElGTEKl9fwh3L8g==',
            '__EVENTVALIDATION': '/wEWBAKm8rLABwLs0bLrBgLs0fbZDAKM54rGBkCiS2WHGa6+EL0Kh6yO5Ah09T75GOA5NPCLw47Aiepp',
            'TextBox1': username,
            'TextBox2': password,
            'Button1': '登录',
        }
        str = ''
        ses.post(url,headers=headers01,data=date)
        return str
12345678910111213

通过cookie获取验证码

根据登录获取的session域进行获取验证码,保存在相应的路径,代码如下:

def yanzhengmaimage(self,ses):
        str1 = ses.get("http://172.16.47.84/VerifyCode.aspx?", headers=headers01)
        imagename=ses.__str__()[-19:-1]
        with open('code02'+imagename+'.jpg', 'wb') as img:
            img.write(str1.content)
12345

分析抢座请求信息


主要以下面代码为主

利用保存的cookie会话发送post 以及get请求

def tomorrow(self,ses,quyu1='3',js3='207',zuoweihao='001'):
        #quyu1 代表区域 1东区 2中区 3 西区
        #js3 代表教室 正常三位数字
        #zhuoweihao 代表座位号 3位数字
        str=quyu1+js3+zuoweihao
        url = 'http://172.16.47.84/Verify.aspx?seatid='+str
        date = {
            '__VIEWSTATE': '/wEPDwUKMTcwNzM5ODc3NGRkFTNhg2TJCMmXjk16k+jkM2+o35s9J3SOm+JNsHJEwo4=',
            '__EVENTVALIDATION': '/wEWAwL5+IeIAgLs0Yq1BQKM54rGBlbX/7GsfmI6ZGnyG3S+AAk6bsW9xrBTrDecfP4rhl+R',
            'TextBox3': '',
            'Button1': '提      交',
        }
        # self.base6434(ses)
        hi = ses.get(url, headers=headers01)
        date['TextBox3'] = self.base6434(ses)
        resp = ses.post(url, headers=headers02, data=date)
        soup = BeautifulSoup(resp.text, 'lxml')
        Soup = soup.find_all('script')[0]
        print(Soup)
        print(zuoweihao)
        ses.close()
        return Soup.text
12345678910111213141516171819202122

抢座成功结果图


先写到这里 再更新 小编累了

利用多线程并发给多个账号进行同步抢座

并发抢座成功截图

PS:如遇到解决不了问题的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

 

用python自动预约图书馆座位 python自动预约图书馆座位前景提要需要的工具第一步——抓包这其中我碰到的坑报错:只能用微信客户端打开服务器持续返回405服务器返回未知错误附上代码 前景提要 由于疫情原因,原来我们市图书馆为了控制人数,搞了一个公众号预约。这样让我一个读书爱好者怎么扛得住啊。(其实是没钱去咖啡厅学习) 需要的工具 fiddler python 3.8 第一步——抓包 由于之前我在大学的时候就有用python写脚本抢图书馆座位的经验,所以大概了解这种公共预约平台,其实就一个get或者post请求就能搞定拉。 所以用f 阅读详情

相关推荐

csuLibraryBot:中南大学图书馆抢座脚本

csuLibraryBot 中南大学图书馆抢座脚本

python脚本怎么运行网页抢座位_某网站抢号脚本(python)

最近抢号一直抢不到,极为郁闷,于是就抓了抓数据,写了如下脚本:python 3.7.7# -*- coding: utf-8 -*-__author__ = "zoranlee"import requestsimport jsonimport threadingimport datetimedef crawl():# url中的参数需要根据自己的情况做调整url = ""#headers根据自己情...

weixin_39829307的博客 2757

Python Requests模拟登录实现图书馆座位自动预约

本文实例为大家分享了Python实现图书馆座位自动预约的具体代码,供大家参考,具体内容如下 配置 通过公网主机定时运行脚本,并发送邮件到自己的qq邮箱,这样在微信就会有消息提示是否预约成功 vim /etc/crontab 设置每到早上7:01自动运行脚本即可 程序流程 (以yuyue.juneberry.cn网站为例) get访问登录页面,获取cookie和表单里面的隐藏post字段 构造登录post数据,加入从表单里面拿到的隐藏post字段 post构造后的数据,模拟登录,激活cookie(使cookie有登入权限) get访问座位预约界面,激活cookie(使cook

Python爬虫 | 图书馆公众号座位自动预约【从0到1】

Fiddler 抓包详细过程记录

xi 8739

高校图书馆座位预约软件简要介绍

项目效果图展示: 项目源代码(安卓端):https://github.com/QQHEZhangyubin/DESK_MOBILE 项目源代码(服务端):https://github.com/QQHEZhangyubin/desk 该项目采用MVP+RxJava+Retrofit2结构开发.由于项目开发过程中采用的是自己的数据库,没有与图书馆数据对接,为了便于学生使用,选座页面在原来的基础之上,又采用Java爬虫技术来获取学校官方提供的选座服务. 个人认为项目的出彩点在于引用了类似”朋友圈”的功能,这也是项目中开发最耗时的部分.在这一部分,牵涉到文件上传部分的功能采用是七牛云的服务.用

python实现图书馆抢座(自动预约)功能的示例代码

脚本功能 系统开放座位时快速预约指定位置 可以设置预约的时间段 运行以后会一直帮你抢,需要手动停止 即使遇到更强的脚本自动帮抢下一个座位 实现 首先解决登录问题,通过F12找出登录请求包,分析对比一下包可以发现一般只有用户名和密码这个参数是变化的,然后用requests.session()的实例化去请求登录接口,登录成功。 然后预约座位抓一下包,分析包找到变化的关键的参数,一般情况下关键参数只有座位id、开始时间、结束时间,其他的参数一股脑照搬就行了,接下来用刚刚登录成功的那个requests.session()实例去请求即可。 优化 既然是每天都帮抢那么一直去请求可不行,一是给服务器造成

初学Python实现学校图书馆座位自动抢座预约

最近突然有个想利用python爬取学校图书馆预约的想法(因为图书馆单人的座位很难抢)可是没学过python,就草草了解下python基础语法然后找本《Python3网络爬虫实战》来啃了。 首先了解了一波urllib和request库,由于有JavaWeb的基础了解cookie,session等概念所以学起来不难。加上前面有前端的知识,所以看到预约页面的前端元素如此简单便信心满满的开始爬了,可是结果出乎意料。 一开始思路就是用request请求带上cookie和请求参数,弄清楚请求参数 “roomId”:

爪哇岛民工的博客 1万+

WINCC8.1工业组态软件安装与授权配置指南

SCADA系统作为工业自动化控制的核心平台,通过实时数据采集与监控实现生产流程可视化。WINCC作为西门子旗舰级组态软件,其8.1版本凭借稳定的运行时环境在汽车制造、流程工业等领域广泛应用。本文从工业控制系统软件安装规范切入,重点解析WINCC8.1与Automation License Manager的协同工作原理,详细说明包括系统环境检查、安装包校验、授权文件配置等关键技术环节。针对工程实施中常见的内存配置不足、授权管理器报错等典型问题,提供经过现场验证的解决方案,特别适用于需要进行产线监控系统升级维护

cqwf95925的博客 1652

python图书馆抢座_Python爬虫——教你如何在大学图书馆抢座

python爬虫 -----图书馆抢座本人也是一位学子 奈何图书馆座位总抢不到 就利用学过的技术做了一个图书馆抢座系统。主要原理是利用提交post表单的形式进行抢座。对Python,爬虫感兴趣的可以和我一起交流:点击链接加入群聊【python交流群】验证码识别整个爬虫最难的可能就是验证码了,小编自然也走过很多歪路,有用过pytesseract识别,这pytesseract是真的垃圾,正确率不可直视...

weixin_39747630的博客 1942

西威SIEI变频器与电梯主板及驱动板原理图解析与详解(共二十九页原厂PDF图纸)

通过本文的分析,可以了解到西威变频器的技术特点、维修需求以及相关的图纸获取途径。在今后的工作中,维修人员需要充分了解设备的电路图和原理图,掌握正确的维修技术和方法,确保设备的正常运行和延长使用寿命。对于维修人员来说,获取准确的变频器图纸是进行维修工作的基础。这些图纸包含了变频器的电路图、原理图以及相关的元件布局等信息,是维修人员了解设备工作原理、确定维修步骤的重要依据。西威变频器是一种高效、可靠的电机控制设备,广泛应用于电梯、空调、风机等领域的电机控制中。目前,西威提供的维修图纸主要以PDF格式为主。

lXSqtACEzg的博客 1113

Avalonia跨平台开发入门:从安装到运行第一个应用(Windows/Linux/macOS)

本文详细介绍了Avalonia跨平台开发的基础入门指南,从安装到运行第一个应用的全过程。涵盖Windows、Linux和macOS三大平台的环境配置,特别推荐使用Visual Studio进行开发,并提供常见问题的解决方案,帮助开发者快速上手Avalonia框架。

weixin_28688385的博客 542

[igtl-again]我去图书馆-抢座主逻辑详解

【我去图书馆】、【来选座】这类公众号借助微信的平台提供预约座位的服务,本意是方便大家。 通过简单抓包分析发现 但是验证措施太过直接,导致的结果就是抢座不公平,总有人“闷声发大财”;所以有了此文

RenjiaLu的博客 1万+

Ruoyi-Cloud集成Seata2.0实现分布式事务

在网络上,关于Spring Cloud和Ruoyi-Cloud整合Seata的教程有很多,针对不同版本的 Seata 也有不少相关教程。事实上,无论是 Spring Cloud 还是 Ruoyi-Cloud,其整合 Seata 的原理基本相同。这篇博文将详细介绍如何在本地开发环境下,在中实现Seata 2.0的整合,希望能为大家在分布式项目中实现 Seata 的整合提供实用的帮助,提供一个清晰的操作思路。

SR003的博客 2246

我去图书馆抢座位插件_图书馆抢座助手(盐工专版) 使用说明

首先声明:该助手只是作者在学习爬虫中的产物,仅供小范围测试使用。助手简介:通过python脚本模拟人为预定座位,实现图书馆抢座功能。功能介绍:目前支持以下两大类功能: 1.即时抢座,提交请求后立刻寻找空闲的座位抢占。2.定时抢座,提交请求后会在固定时间(由管理员后台设置)抢座两大类功能中还分:随机抢占空闲座位抢占指定座位(指定座位没抢到会...

weixin_34941214的博客 1万+

YOLOv12改进策略【Neck】| CGA Fusion:内容引导的注意力融合模块,空间权重引导的多模态特征自适应融合

本文记录的是利用CGA Fusion 模块改进 YOLOv12 的多模态融合部分。(Content-Guided Attention Fusion)通过内容引导注意力生成空间权重,引导高低层特征的自适应融合。本文利用模块,通过内容引导注意力生成空间权重,自适应地融合两个模态的特征,在特征融合阶段实现跨模态语义对齐与噪声抑制,增强对不同模态互补特征的利用能力,从而提升模型在多模态场景下的检测鲁棒性与准确性。DEA-Net: Single image dehazing based on detail-enhan

Limiiiing的博客 434

第4章 部署负载均衡 Keepalived + HAProxy

本章在所有 Master 节点部署 Keepalived + HAProxy,为 kube-apiserver 提供高可用入口。Keepalived 实现 VIP(192.168.3.59)漂移,HAProxy 轮询转发请求至三个 Master 的 6443 端口(监听 6444 避免冲突)。健康检查脚本连续 5 次失败则停止 Keepalived,触发 VIP 自动切换。本章还包含配置详解、日常运维和问题排查。

幸福街--linux技术分享 120

学校图书馆抢座 Python完成

脚本实现 使用postman对图书馆抢座系统的一个或者多个接口进行分析。 找到接口返回参数和需要参数之间的联系,实现登录与抢座的大体思路。 第二步是全部工作的重点和难点,解决了第二步,代码基本功能就能实现。 这里需要requests的模块,建议不需要使用urllib或者其迭代产品,前者相比于后者而言更加便捷。 脚本代码的优化 优化的部分有很多,就看自己想怎么方便的实现脚本的功能。以下简单写出几点: 本学校的抢座时间是在前一天的晚上10点半,所以我需要time模

qq_53678084的博客 1万+

lammps教程:FeNiCr合金多晶结构建模方法

大家好,我是小马老师。 本文介绍合金多晶模型的建模过程,使用的软件为Atomsk。 Atomsk是一个开源软件,可运行在windows、linux等多种操作系统上,本文使用windows版的Atomsk实现建模,其他操作系统的建模命令基本相同。 建模过程如下: 1. 生成单晶Fe晶胞 atomsk --create fcc 3.65 Fe Fe.xsf 2. 建立多晶节点文件polycrystal.txt 新建一个文本文件polycrystal.txt,文件内容为: box 200 100 200 ran

lammps_jiayou的博客 6658

我去图书馆抢座位插件_图书馆抢座助手(盐工专版) 最新使用说明

首先声明:该助手只是作者在学习爬虫中的产物,仅供小范围测试使用。助手简介:通过python脚本模拟人为预定座位,实现图书馆抢座功能。功能介绍:目前支持以下三大类功能: 1.即时抢座,提交请求后立刻寻找空闲的座位抢占。2.定时抢座,提交请求后会在固定时间(由管理员后台设置)抢座3.循环抢座,提交请求后后台会不间歇的抢五分钟座位,直到抢到或者时间...

weixin_39533659的博客 2万+

基于深度学习的鸟类检测识别系统:YOLOv5 + YOLOv8 + YOLOv10 + UI界面 + 数据集

YOLOv5是当前目标检测领域非常流行的模型,具有良好的检测精度和实时推理速度。其网络结构相比前几代YOLO模型进行了优化,尤其是在检测精度和计算效率上有了显著提高。YOLOv5特点高效性:能够在较低的硬件环境下进行实时检测。易于部署和使用:YOLOv5提供了简单的API接口,方便开发者快速集成和使用。优异的精度:在多个数据集上测试,表现出色。本文详细介绍了基于YOLOv5、YOLOv8和YOLOv10的鸟类检测识别系统的设计与实现。

YOLO 1114

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python图书馆预约_利用Python爬虫抢座图书馆!

login.PNG下面给大家看一下,fiddler抓包的结果(提交的form信息和请求的头部信息):form.PNG请求头:捕获2.PNG接下来小编给大家解释下form中各个参数的含义:1 TxtBox1 &TxtBox2 后面的内容是固定不变的(我也不知道后面的值是什么鬼)2 ddDay 后面跟的参数是你想要预约的日期(“今日”或“明日”)3 ddRoom 一共有7位数字(第一位表示校区,即:1...

weixin_39578899的博客 961

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

python做流程图_"我去图书馆"抢座助手-python实现

2019.07.22 文章已更新: [igtl-again] 我去图书馆-抢座主逻辑详解-https://zhuanlan.zhihu.com/p/74706139二叉树:[igtl-again]我去图书馆-抢座主逻辑详解​zhuanlan.zhihu.com写在前面项目地址: RenjiaLu9527/igotolibrary典型的python使用requests模块模拟操作实现抢座正文某天想找...

weixin_39845241的博客 1339

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python图书馆抢座_[igtl-again]我去图书馆-抢座主逻辑详解

20190722:第一次编写写在前面igotolibrary - github :qmppz/igotolibrary​github.com上一个版本【我去图书馆-抢座助手】二叉树:"我去图书馆"抢座助手-python实现​zhuanlan.zhihu.comsessionid 抓包与指令集帮助:https://dwz.cn/DueaPBVD​dwz.cn【我去图书馆】、【来选座】这类公众号借助微...

weixin_39889337的博客 960

【记录】用Python webdriver图书馆抢座自动预约的正确姿势

selenium webdriver python 自动图书馆预约抢座

hdkks的博客 6687
上一篇: 如何用 Python 快速揭示数据之间的各种关系!
下一篇: 大佬用python写了个豆瓣短评爬虫,来试试你喜欢的电影吧!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值