记录一次本地数据库的制作

前言
一切因为昨天晚上无意间打开了易班APP。
里面有个轻应用可以直接提交补助申请,点进去看了一眼,发现页面有交互功能(因为以前在易班工作,知道这玩意光凭易班自带的轻应用模块肯定做不了),很好奇是哪位大神做的。于是很快啊,我啪的一下就点进去了,发现登陆之后随便点一个表格,会自动补全很多个人信息。我靠!!!这么强的吗,不会是直接对接学校数据库的吧。赶紧看看。
拿到接口地址
刚刚登陆的时候,发现只需要填写姓名跟学号就可以了。但是随便选一个表格却可以补全很多信息,包括,班级,学院,身份证号,出生日期等等。按照这个思路,它应该是提交了你填写的登录表单信息,在服务器进行比对,正确会跳转页面,给你拿到其余信息。
妙就妙在易班的页面有分享功能,这样我们可以直接拿到这个东西的网址。 好家伙,果然是学校的服务器。在浏览器中打开,无法访问,F12手机端模拟一下可以打开了。
很轻易的,可以拿到接口地址,模拟请求一下,发现返回了一段json数据,仔细观察,全部都是我们想要的信息。
遍历数据库
我们发现,这样拿到的json数据是自己的。因为我们登陆的是自己的账号。 那么我们只要有其他人的姓名跟学号,那么不就可以把数据从服务器里面遍历出来了吗。 巧的是,我确实有一部分学号+姓名的Excel数据。于是活来了,考虑使用pandas库,解析Excel,拼接参数。发送请求,下载json。
|
|
这样,其实我们的信息都拿到了,最后解析每一个json,就可以拿到数据。
尝试构建一个本地数据库
当然,这并没有完,最近学了数据库,肯定要尝试一下能不能自己弄个本地的小数据库。思路很简单,遍历所有json文件,并解析字段作为表头,然后使用SQL语句插入数据就可以了。附上部分代码:
|
|
竟然有这么多字段,手都要敲断了,有些字段的值为空。
|
|
套个循环,最终得到了10525条数据。
成果
到最后一刻,还是很激动人心的。完结撒花。
最后的最后。。。。(几个小时之后)
发现这个域名是给易班用的。我曾经还用过这个后台,上传过数据。。。如今,我再通过接口爬下来,再做成数据库。。。。???这是什么鬼操作??