手机python代码查询四六级准考证_【python】【转载】四六级准考证号找回
今天是四六級查成績的時間,班里一位同學忘了準考證號,問有沒有方法找回。于是我先在咱們吾愛找找有沒有方法,但是只找到一個,可是失效了。于是就開始csdn,百度進行搜索,但最終那些方法還是無果。
最后通過GitHub找到了一個可行的方法
下面是我從GitHub轉載來的源地址:https://github.com/creakcc/getCET4or6quickly
接下來是代碼部分,因為是一個py代碼而已,所以就直接把文本復制出來咯。
import requests,random,socket,struct,threading
HEADERS = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0',
'Referer': 'http://www.chsi.com.cn/cet',
'X-FORWARDED-FOR':'',
'CLIENT-IP':''
}
xxdm = input("請輸入前10位:")
xm = input("請輸入考生姓名:")
thread_sum = 500??#此處修改線程數 請確定改數可以被500整除 否則無法覆蓋全部準考證
ans = '未找到'
end_flag = False
class myThread (threading.Thread):
def __init__(self, threadID, name,start_num,length):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.start_num = start_num
self.length = length
self.stopped = False
def run(self):
#print(self.name+'運行中')
main_loop(self, self.start_num,self.length)
#print(self.name+'已停止')
def main_loop(thread_name,s,l):
global end_flag,ans
param = {
'zkzh': '',
'xm': ''}
zkzh = int(xxdm + s + '01')
param['xm'] = xm
param['zkzh'] = zkzh
while 1:
if end_flag:
return
IP = socket.inet_ntoa(struct.pack('>I', random.randint(1, 0xffffffff)))
HEADERS['X-FORWARDED-FOR'] = IP
HEADERS['CLIENT-IP'] = IP
try:
rsp = requests.get('http://www.chsi.com.cn/cet/query',params=param, headers=HEADERS)
except requests.exceptions.ConnectionError:
continue
except requests.exceptions.HTTPError:
continue
if '寫作和翻譯' in rsp.text:
#print(param, '查詢成功')
# print(rsp.text)
ans = param['zkzh']
print('已找到準考證號:'+str(ans))
end_flag = True
input()
else:
#print(param, '嘗試失敗')
zkzh += 1
temp = zkzh - 31
if temp % 100 == 0:
zkzh = zkzh + 70
if (zkzh-1) % (100*l) ==0:
print(thread_name.name+'未找到準考證號')
return
param['zkzh'] = zkzh
for i in range(0,thread_sum):
if i*(500//thread_sum)+1<10:
myThread(i + 1, 'thread' + str(i),'00'+str(i*(500//thread_sum)+1),(500//thread_sum)).start()
elif i*(500//thread_sum)+1<100:
myThread(i + 1, 'thread' + str(i), '0' + str(i * (500//thread_sum) + 1), (500//thread_sum)).start()
else:
myThread(i + 1, 'thread' + str(i),str(i * (500//thread_sum) + 1), (500//thread_sum)).start()
print('運行中')
Q:如何使用???
A:輸入準考證號前十位與姓名。
Q:我都不知道準考證號怎么知道準考證號前十位???
A:準考證號前五位是學校代碼,第六位是校區代碼,第七八位是四六級考試的年份,第九位是考季,如果是6月份就是1,12月份就是2,第十位是四六級代碼,四級就是1,六級就是2。
舉個例子
xxxxxx1911表示的是xxx學校2019年6月份的四級考試
最后再說一遍,該python的方法只是我到GitHub后找到后轉載的,不是自己編寫的
總結
以上是生活随笔為你收集整理的手机python代码查询四六级准考证_【python】【转载】四六级准考证号找回的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天使的咒语
- 下一篇: android微信开放平台,申请移动应用