From 5f7d17fc5ddd40ec8e8c8ad26cf377119e31e2fc Mon Sep 17 00:00:00 2001 From: lijingwei233 <531347509@qq.com> Date: Thu, 20 Feb 2020 22:42:16 +0800 Subject: [PATCH] add combine phone --- __pycache__/coc.cpython-37.pyc | Bin 0 -> 2113 bytes lib/__pycache__/db.cpython-37.pyc | Bin 0 -> 3025 bytes lib/__pycache__/photoUpload.cpython-37.pyc | Bin 0 -> 1262 bytes lib/allFunction.py | 5 ++- lib/crawler.py | 37 +++++++++++++++++++-- 5 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 __pycache__/coc.cpython-37.pyc create mode 100644 lib/__pycache__/db.cpython-37.pyc create mode 100644 lib/__pycache__/photoUpload.cpython-37.pyc diff --git a/__pycache__/coc.cpython-37.pyc b/__pycache__/coc.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a690063de510699a20e64356acff4c422a1d3471 GIT binary patch literal 2113 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 literal 0 HcmV?d00001 diff --git a/lib/allFunction.py b/lib/allFunction.py index 7931d01..ec67b09 100644 --- a/lib/allFunction.py +++ b/lib/allFunction.py @@ -137,9 +137,12 @@ def connect(data): # 用户密码 pwd = data['pwd'] # 进行登录 + phone = '' + if data.get('phone'): + phone = data['phone'] try: # 这里教务没问题,账户没问题就是200,密码错了就是101 - res = connection(cid,pwd) + res = connection(cid,pwd,phone) return res except: # 这了就是教务挂了 diff --git a/lib/crawler.py b/lib/crawler.py index 6567fd4..302860f 100644 --- a/lib/crawler.py +++ b/lib/crawler.py @@ -5,7 +5,26 @@ import base64 from bs4 import BeautifulSoup import random -def connection(username,password): + +def addphonenumber(): + return ''' + + +

请输入手机号

+

教务新要求,需要绑定手机

+

如果不放心,可以登录教务查看

+

谢谢

+ + + + + + +''' + + + +def connection(username,password,phone): s = requests.Session() # 获取统一身份系统的网页 r = s.get(url='http://mysso-cust-edu-cn-s.webvpn.cust.edu.cn:8118/cas/login?service=https%3A%2F%2Fwebvpn.cust.edu.cn%2Fauth%2Fcas_validate%3Fentry_id%3D1') @@ -20,6 +39,19 @@ def connection(username,password): 'geolocation':'' } r = s.post(url='http://mysso-cust-edu-cn-s.webvpn.cust.edu.cn:8118/cas/login?service=https%3A%2F%2Fwebvpn.cust.edu.cn%2Fauth%2Fcas_validate%3Fentry_id%3D1',data=formdata) + soup=BeautifulSoup(r.text,'html.parser') + flag = soup.find(name='title') + if(flag.text=="手机号设置"): + execution=soup.find_all(name='input')[1]['value'] + formdata = { + 'phone': phone, + 'execution': execution, + '_eventId': 'submit', + 'submit': '提交' + } + print(execution) + r = s.post(url="http://mysso-cust-edu-cn-s.webvpn.cust.edu.cn:8118/cas/login?service=https%3A%2F%2Fwebvpn.cust.edu.cn%2Fauth%2Fcas_validate%3Fentry_id%3D1",data=formdata) + print(r.text) r = s.get(url='http://portal-cust-edu-cn-s.webvpn.cust.edu.cn:8118/custp/index') soup=BeautifulSoup(r.text,'html.parser') try: @@ -36,6 +68,7 @@ def connection(username,password): data = json.loads(r.content.decode('utf-8')) student_name = data['data']['StudentDto']['XM'] student_id = data['data']['StudentDto']['XH'] + print(student_name) return {'errcode': 200, 'errmsg': 'ok', 'ip': ip, 's': s,'student_name':student_name,'student_id':student_id} def getGrade(Ip, S): @@ -238,4 +271,4 @@ def getCurrentTime(Ip, S): ) data = json.loads(r.content.decode('utf-8')) data_cache = data['data'].pop('DateList') - return {'errcode': 200, 'errmsg': 'ok', 'data': data_cache} + return {'errcode': 200, 'errmsg': 'ok', 'data': data_cache} \ No newline at end of file