发布网友 发布时间:2022-04-22 06:39
共1个回答
热心网友 时间:2023-06-28 07:23
好多种方式
python语言由于其简洁、灵活的语言特性,经常被用来开发一些小工具来协助办公,爬虫就是其中广泛应用之一。网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维*息的程序或者脚本。通俗的讲,爬虫就是能够自动访问互联网并将网站内容下载下来的的程序或脚本,类似一个机器人,能把别人网站的信息弄到自己的电脑上,再做一些过滤,筛选,归纳,整理,经过整合的数据往往能产生更大的价值。爬虫时,有的网站需要我们登录后才能访问关键信息,如淘宝,必须登陆后才能看到自己收藏的商品。因此如何完成登录操作是爬虫技术的重要一环,web通信中的登录,主要是通过cookie和session来进行确认的
使用http协议实现 post 登录并逆向加密js:
对教务处发起登录的请求进行抓包分析,发现登陆时提交的参数一共有如下7个,其中password是经过加密的,It根据经验知道是服务器返回的一串标识符,一般存在于网页源码中,后面四个参数都是固定不变的,因此我们只要找到password和It就可以了
2、经过在网页源码中寻找,我们定位到了如下内容,都是隐藏的input标签,可以看到It在其中,并且其余的四个登陆相关参数也在其中。多次刷新网页之后也可以验证我们之前说的,It是变动的,而其余四个字段是不变的,不过我们还发现了一个不曾见到的字段“pwdDefaultEncryptSalt”,根据经验知道这是加密算法需要的“盐”
3、接下来就只剩password加密算法的定位了,在devtools中搜索password字段,成功定位到可能存在加密的位置,并且看到了加密算法AES,而且前面提到的pwdDefaultEncryptSalt也在此处得到了应用,猜测应该是这里了
5、跳到了这个文件中,可以看到用的是标准的croptyJS加密的,那我们就不用扣代码了,直接在py中调用crypto库就可以了---实际上这个代码也非常的好扣,直接整个文件拿下来就可以了