登录库开发简记

文章发布时间:

最后更新时间:

仓库在 这里, 欢迎来 contribute 真的会有人来吗

事情的大致经过

大一的两个学期因为各种各样的麻烦事, 以及个人规划安排非常不当, 成绩很不忍直视, 遂意识到应该提高工作效率避免恶心循环

看起来我平时很喜欢在 QQ 上花很多时间, 所以就想着提醒自己不翘课, 于是在 QQ bot 上写了个爬虫爬取自己的课程, 以提醒自己上课

效果不错, 但假期里一看: 哪来的💩山, 一气之下重构了一下, 并且初次尝试了一下开发库, 虽然没脸上传到 PyPI, 但是还是配置了 setup.pyrequirements.txt, 可以从 GitHub 安装

想记录的东西

这次开发先请教了一下 GPT 相关知识, 希望利用现有成熟的库的一些经验

比较重要的是分离出一些关键功能, 并且要记住预留一些扩展性

大致结构

  1. 定义一个登录类 PKULogin 可以用 .session 来访问会话, 这个会话将会保存登录状态
  2. 本来想尽可能模仿正常浏览器行为, 但发现要处理一大堆繁文缛节(指 Headers), 遂放弃, 投向 刷课机 大佬的怀抱
  3. 特定的登录目标(比如选课网)可以通过继承基础登录类来实现

单元测试

学习尝试写了单元测试, 有点用但不多, 最重要的是一不小心把自己的账号密码 push 到公开仓库里了, 虽然及时 force push 救火并且改了密码, 但也狠狠学习了 export 大法, 代码里只剩 env.get()

下次可长点心吧, 操作敏感信息出的事已经够多了

展望

没觉得这个项目能有啥活跃, 写来练手的, 不过要是有人愿意一起来写该多好啊(叹气)

顺手还写了个 课程库 写不写博客看心情, 本学期课太多啦