好友
阅读权限20
听众
最后登录1970-1-1
|
夸克逃逸
发表于 2019-8-22 21:38
50吾爱币
我又来了。最近被python搞得自闭。我自学python想爬取教务处成绩,但是我们学校教务处的正方系统脾气太大,输入学号和密码一直提示错误。所以我只能先从学校首页登录然后直接进入教务系统。但是问题是,网上关于教务系统的成绩爬取都是直接从正方系统首页进入的,cookies一样,使用session然后用正则筛选就行了(至少我是这样理解的)。但是
(1)我们学校先要从学校首页登录到“个人页面”,而且这个登录是从i.swu.edu.cn/portal_main/toPortalPage(学校校内门户页面,需要v*p*n)到i.swu.edu.cn/PersonalApplications/viewPageV3?active_nav_num=1&userToken=VEdULTQyNS1Gcmh2dGswZ3pRd2ZnR0tTeGNmR2h0d3lQaWFMTG1RdVRkVWU3Tm45T2JJYTRZYU9BTi1odHRwOi8vMjIyLjE5OC4xMjAuMjA4OjgwODIvY2Fz(个人页面),post请求不是从前面那个网址发出的。我点击登录有一个名为“process”请求,post表单里面有一个serviceInfo,是把账号和密码以及其他很多信息加密后得到的一串东西,我前一个帖子已经解决了相关的加密问题,感谢那位大佬。
(2)然后是从这个“个人页面”直接进入正方教务系统。即从i.swu.edu.cn/PersonalApplications/viewPageV3?active_nav_num=1&userToken=VEdULTQyNS1Gcmh2dGswZ3pRd2ZnR0tTeGNmR2h0d3lQaWFMTG1RdVRkVWU3Tm45T2JJYTRZYU9BTi1odHRwOi8vMjIyLjE5OC4xMjAuMjA4OjgwODIvY2Fz直接点击进入到jw.swu.edu.cn/jwglxt/xtgl/index_initMenu.html?jsdm=&_t=1566479686407(正方页面)(这就是正方教务系统了,不知道是不是跨域了,我是个小白基础挺差的)。
现在的问题是:我能够通过post请求得到第(2)步里面的usertoken了(是通过process请求获得的),但是现在直接用get去访问个人页面肯定是不能的,因为这样不能与前面的登陆联系起来(我是这样理解的),而且cookies也变了。所以我在python里面运行后得到的依旧是登录成功之前的结果,也就是校内门户页面。
请问各位大哥有没有什么想法给个指点呗。我记得之前有人跟我说用selenium,但是我试了一下selenium,会自动打开我的浏览器,这样我觉得太不方便了。
我研究这个问题研究了一个星期了毫无头绪,我真的要疯了,每天就盯着电脑颓废,去问别人要么别人不回我要么就是也不清楚,我好难啊,我不想入门就放弃啊。 |
最佳答案
查看完整内容
楼主私信我联系方式 帮你搞定一下 顺便我自己练练手~
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|