简单的爬课表程序

不用Selenium如何爬课表。

首先先看下工大的信息门户的网页,分析下:
登陆界面

有关登录部分的html源码

先用py获取下网站的源码吧。

阅读更多

简单的基于Selenium的爬课表程序

看到学长写的选课程序,觉得直接一改就是爬课表,然后就改了。
首先是学号和密码,涉及个人隐私就不写了。

学校信息门户的网址是http://my.hfut.edu.cn/login.portal,直接写上去完事。

验证码识别我写了两个,一个是基于Tesseract-OCR的,另一个是云打码,当然还是云打码好用。

源码大概就这样,首先是爬课表本身的py:

阅读更多

如何科学的刷题

这个玩意是昨天…嗯,我就想写了…

如果你想科学的用这个东西,首先要使用Chrome中的Enable Copy插件,假如你说你下载不了,那么请百度。

然后你需要科学的处理一下你的试题库,我用的是openpyxl库,无法打开xls,所以就另存为xlsx了。

然后你可以像我一样,在第二列把答案列出来,公式就是下面这个,我相信学过Excel公式的都看得懂。

1
=IF(H2=$C$1,H2&" "&C2,IF(H2=$D$1,H2&" "&D2,IF(H2=$E$1,H2&" "&E2,IF(H2=$F$1,H2&" "&F2,IF(H2=$G$1,H2&" "&G2)))))
阅读更多

pow(x,y,N),pow(x,y)%N和(x**y)%N

这个问题是我一开始做CTF题发现的,下面的脚本:

1
2
3
4
5
N=16903705997349646195704375376941855414691523387719679999999999999
e=65537
d=71961395444719033349123712211093410967715759287662860214461993
m=0x237200C0F72B97DB55BA37C7AACBB61A26A0CB47D294726259C4DF
print((m**d)%N)

和下面的脚本

1
2
3
4
5
6
import math
N=16903705997349646195704375376941855414691523387719679999999999999
e=65537
d=71961395444719033349123712211093410967715759287662860214461993
m=0x237200C0F72B97DB55BA37C7AACBB61A26A0CB47D294726259C4DF
print(pow(m,d,N))
阅读更多