最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)提前查詢考研成績功能

 更新時間:2023年04月11日 14:55:46   作者:Python無霸哥  
這篇文章主要介紹了Python實現(xiàn)提前查詢考研成績,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、填寫相關(guān)信息

使用時請先在代碼所在目錄新建 info.json,內(nèi)容如下

{
    "xm": "上岸人",
    "zjhm": "xxx",
    "ksbh": "xxx",
    "bkdwdm": "xxx",
    "sendEmail":"xxx",
    "code":"xxx",
    "toAddr":"xxx",
    "key":"xxx",
    "time":"120"
}

并且根據(jù)如下字段說明將 info.json 中各個字段修改為需要查詢的考研人的信息(準考證上都有)

xm:姓名

zjhm:身份證號

ksbh:考生編號

bkdwdm:報考單位編號

sendEmail:發(fā)件人Email(可以是自己的Email)

code:發(fā)件人Email授權(quán)碼

toAddr:收件人Email

key:最后一門考的專業(yè)課名稱或者所含字符,例如數(shù)據(jù)結(jié)構(gòu)可以填寫數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)

time:每隔多少秒查詢一次

二、發(fā)件人Email說明

可以使用QQ郵箱

進入Web端,點擊設置 > 賬戶 > POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務

理論上只要開啟SMTP服務,然而反正在郵件客戶端登錄都是需要授權(quán)碼的,不如把這些服務都開了

然后點擊生成授權(quán)碼

在這里插入圖片描述

三、代碼實現(xiàn)

1. 查詢成績并且發(fā)送到郵箱版本

一旦有查詢結(jié)果會直接發(fā)送到郵箱

#我的Python交流群:748989764
import json
import random
import sys
import time
import requests
import smtplib
from email.mime.text import MIMEText
from email.header import Header

# import urllib3
# urllib3.disable_warnings()

url = "https://yz.chsi.com.cn/apply/cjcx/cjcx.do"
with open('info.json', 'r', encoding='UTF-8') as f:
    info = json.load(f)
# temp = "https://yz.chsi.com.cn/apply/cjcx/t/" + info["bkdwdm"] + ".dhtml"


class EmailOP:
    def __init__(self, host, port, user, password):
        """
        host:郵件服務器地址
        port:郵件服務器端口
        user:郵箱賬戶名
        password:郵箱賬戶的授權(quán)碼(注意是授權(quán)碼,不是郵箱的登錄密碼)
        """
        self.user = user
        self.password = password
        self.smtp = smtplib.SMTP()  # 創(chuàng)建SMTP對象
        self.smtp.connect(host=host, port=port)  # 連接到SMTP服務器
        self.smtp.login(user=self.user, password=self.password)  # 登錄郵箱

    def send(self, From, To, Subject, Context, to_addrs):
        """
        Context:郵件正文
        From:發(fā)送者昵稱(隨便?。?
        To:接收者昵稱(隨便?。?
        Subject:郵件主題
        to_addrs: 收件人郵箱地址
        """
        message = MIMEText(Context, 'plain', 'utf-8')
        message['From'] = Header(From)
        message['To'] = Header(To)
        message['Subject'] = Header(Subject)
        self.smtp.sendmail(from_addr=self.user, to_addrs=to_addrs, msg=message.as_string())


def main():
    headers_list = [
        {
            'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G955U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (iPad; CPU OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.77 Mobile/15E148 Safari/604.1'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.109 Safari/537.36 CrKey/1.54.248666'
        }, {
            'user-agent': 'Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.188 Safari/537.36 CrKey/1.54.250320'
        }, {
            'user-agent': 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+'
        }, {
            'user-agent': 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)'
        }, {
            'user-agent': 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.181 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1'
        }, {
            'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'
        }, {
            'user-agent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1'
        }, {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.78"
        }
    ]

    head = {
        "User-Agent": str(random.choice(headers_list)["user-agent"]),
        "Referer": "https://yz.chsi.com.cn/apply/cjcx/t/" + info["bkdwdm"] + ".dhtml"
    }
    data = {
        "xm": info["xm"],
        "zjhm": info["zjhm"],
        "ksbh": info["ksbh"],
        "bkdwdm": info["bkdwdm"],
        "checkcode": ""
    }

    try:
        res = requests.post(url=url, headers=head, data=data)
        if res.ok == True:
            if info["key"] in res.text:
                print("[LOG] ?。?!已查詢到成績")
                email_op = EmailOP(host="smtp.qq.com", port=25, user=info["sendEmail"], password=info["code"])
                email_op.send(From="996考研成績查詢機器人", To=info["xm"], Subject=info["xm"] + "您好,已查到成績?。?!", Context=res.text,
                              to_addrs=info["toAddr"])
                sys.exit()
            else:
                print("[LOG] 未查詢到結(jié)果")
                res.close()
        else:
            res.close()
            print("[ERROR] 網(wǎng)絡錯誤,HTTP響應狀態(tài)碼:" + str(res.status_code))
            email_op = EmailOP(host="smtp.qq.com", port=25, user=info["sendEmail"], password=info["code"])
            email_op.send(From="996考研成績查詢機器人", To="程序猿", Subject="報錯了!快去修BUG!", Context="網(wǎng)絡錯誤,HTTP響應狀態(tài)碼:" + str(res.status_code),
                          to_addrs=info["toAddr"])
    except requests.exceptions.RequestException as e:
        email_op = EmailOP(host="smtp.qq.com", port=25, user=info["sendEmail"], password=info["code"])
        email_op.send(From="996考研成績查詢機器人", To="程序猿", Subject="報錯了!快去修BUG!", Context="捕捉到異常,請查看程序,若程序停止請重新打開",
                      to_addrs=info["toAddr"])


if __name__ == '__main__':
    print("[LOG] 服務已開啟")
    print("[LOG] 每間隔" + info["time"] + "秒查詢1次")
    try:
        # 登錄郵箱
        email_op = EmailOP(host="smtp.qq.com", port=25, user=info["sendEmail"], password=info["code"])
        # 發(fā)送郵件
        email_op.send(From="996考研成績查詢機器人", To=info["xm"], Subject="服務已開啟", Context=info["xm"] + "您好,已經(jīng)開始為您查詢成績",
                      to_addrs=info["toAddr"])
    except smtplib.SMTPAuthenticationError as e:
        print("[ERROR] 登錄郵箱出現(xiàn)問題,請檢查info.json中sendEmail與code字段是否填寫正確")
        print("[ERROR] sendEmail填寫發(fā)件人郵箱,code填寫授權(quán)碼")
        print("[ERROR] ?。?!注意是授權(quán)碼,不是郵箱的登錄密碼")
        sys.exit()

    count = 0
    while True:
        try:
            count += 1
            print(f"[LOG] 第{count}次查詢")
            main()
            time.sleep(int(info["time"]))
        except requests.exceptions.RequestException as e:
            email_op = EmailOP(host="smtp.qq.com", port=25, user=info["sendEmail"], password=info["code"])
            email_op.send(From="996考研成績查詢機器人", To="程序猿", Subject="報錯了!快去修BUG!", Context="捕捉到異常,請查看程序,若程序停止請重新打開",
                          to_addrs=info["toAddr"])
            main()
            time.sleep(int(info["time"]))

2. 查詢成績并且砍掉了發(fā)送郵件版本

一旦有查詢結(jié)果會保存當前目錄的res.html

#我的Python交流群:748989764
import json
import random
import sys
import time
import requests
import smtplib
from email.mime.text import MIMEText
from email.header import Header

# import urllib3
# urllib3.disable_warnings()

url = "https://yz.chsi.com.cn/apply/cjcx/cjcx.do"
with open('info.json', 'r', encoding='UTF-8') as f:
    info = json.load(f)
# temp = "https://yz.chsi.com.cn/apply/cjcx/t/" + info["bkdwdm"] + ".dhtml"

def main():
    headers_list = [
        {
            'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G955U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (iPad; CPU OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.77 Mobile/15E148 Safari/604.1'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.109 Safari/537.36 CrKey/1.54.248666'
        }, {
            'user-agent': 'Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.188 Safari/537.36 CrKey/1.54.250320'
        }, {
            'user-agent': 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+'
        }, {
            'user-agent': 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)'
        }, {
            'user-agent': 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.181 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36'
        }, {
            'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1'
        }, {
            'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'
        }, {
            'user-agent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1'
        }, {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.78"
        }
    ]

    head = {
        "User-Agent": str(random.choice(headers_list)["user-agent"]),
        "Referer": "https://yz.chsi.com.cn/apply/cjcx/t/" + info["bkdwdm"] + ".dhtml"
    }
    data = {
        "xm": info["xm"],
        "zjhm": info["zjhm"],
        "ksbh": info["ksbh"],
        "bkdwdm": info["bkdwdm"],
        "checkcode": ""
    }

    try:
        res = requests.post(url=url, headers=head, data=data)
        if res.ok == True:
            if info["key"] in res.text:
                print("[LOG]  ?。?!已查詢到成績")
                with open("res.html", "w+", encoding='utf8') as f:
                    f.write(res.text)
                sys.exit()
            else:
                print("[LOG] 未查詢到結(jié)果")
                res.close()
        else:
            res.close()
            print("[ERROR] 網(wǎng)絡錯誤,HTTP響應狀態(tài)碼:" + str(res.status_code))
    except requests.exceptions.RequestException as e:
        print("[ERROR] 捕捉到異常,請查看程序,若程序停止請重新打開")


if __name__ == '__main__':
    print("[LOG] 每間隔" + info["time"] + "秒查詢1次")
    count = 0
    while True:
        try:
            count += 1
            print(f"[LOG] 第{count}次查詢")
            main()
            time.sleep(int(info["time"]))
        except requests.exceptions.RequestException as e:
            print("[ERROR] 捕捉到異常,請查看程序,若程序停止請重新打開")
            main()
            time.sleep(int(info["time"]))

四、使用效果

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Python實現(xiàn)提前查詢考研成績的文章就介紹到這了,更多相關(guān)Python查詢考研成績內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python淺拷貝與深拷貝使用方法詳解

    python淺拷貝與深拷貝使用方法詳解

    淺拷貝,指的是重新分配一塊內(nèi)存,創(chuàng)建一個新的對象,但里面的元素是原對象中各個子對象的引用。深拷貝,是指重新分配一塊內(nèi)存,創(chuàng)建一個新的對象,并且將原對象中的元素,以遞歸的方式,通過創(chuàng)建新的子對象拷貝到新對象中。因此,新對象和原對象沒有任何關(guān)聯(lián)
    2022-11-11
  • Python實現(xiàn)過迷宮小游戲示例詳解

    Python實現(xiàn)過迷宮小游戲示例詳解

    這篇文章主要介紹的是基于Python實現(xiàn)一個簡單的過迷宮小游戲,文中的示例代碼講解詳細,對我們學習Python有一定的幫助,感興趣的可以學習一下
    2021-12-12
  • Django內(nèi)容增加富文本功能的實例

    Django內(nèi)容增加富文本功能的實例

    下面小編就為大家?guī)硪黄狣jango內(nèi)容增加富文本功能的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 深入了解PyQt5中的圖形視圖框架

    深入了解PyQt5中的圖形視圖框架

    PyQt5中圖形視圖框架主要包含三個類:QGraphicsItem圖元類、QGraphicsScene場景類和QGraphicsView視圖類。本文將通過示例詳細講解一下這三個類,感興趣的可以學習一下
    2022-03-03
  • 對python自動生成接口測試的示例講解

    對python自動生成接口測試的示例講解

    今天小編就為大家分享一篇對python自動生成接口測試的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python爬蟲基本知識

    python爬蟲基本知識

    最近在做一個項目,這個項目需要使用網(wǎng)絡爬蟲從特定網(wǎng)站上爬取數(shù)據(jù),于是乎,我打算寫一個爬蟲系列的文章,與大家分享如何編寫一個爬蟲。下面這篇文章給大家介紹了python爬蟲基本知識,感興趣的朋友一起看看吧
    2018-03-03
  • python matplotlib畫圖實例代碼分享

    python matplotlib畫圖實例代碼分享

    這篇文章主要介紹了python matplotlib畫圖實例代碼分享,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • python中字符串最常用的十三個處理操作記錄

    python中字符串最常用的十三個處理操作記錄

    這篇文章主要給大家介紹了關(guān)于python中字符串最常用的13個處理操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 10個Python辦公自動化案例總結(jié)

    10個Python辦公自動化案例總結(jié)

    Python作為一種簡單而強大的編程語言,不僅在數(shù)據(jù)科學和軟件開發(fā)領(lǐng)域廣受歡迎,還在辦公自動化方面發(fā)揮了巨大作用,通過Python,我們可以編寫腳本來自動執(zhí)行各種重復性任務,從而提高工作效率并減少錯誤,在本文中,我們總結(jié)了10個Python辦公自動化案例
    2024-09-09
  • Django部署到服務器后無法獲取到靜態(tài)元素 The requested resource was not found on this server(問題及解決方案)

    Django部署到服務器后無法獲取到靜態(tài)元素 The requested resource

    寫了一個Django項目,部署到云主機后,訪問發(fā)現(xiàn)圖片無法訪問,報錯The requested resource was not found on this server,下面給大家介紹Django部署到服務器后無法獲取到靜態(tài)元素The requested resource was not found on this server(問題及解決方案),需要的朋友可以參考下
    2024-02-02

最新評論

遂川县| 沂源县| 汝南县| 上林县| 镇巴县| 赤水市| 开封县| 韶山市| 清新县| 普陀区| 阿克苏市| 绍兴市| 西吉县| 宁武县| 米易县| 庐江县| 庆城县| 会泽县| 阿拉善盟| 日喀则市| 栾川县| 新源县| 丰顺县| 务川| 淮南市| 洛浦县| 乌拉特中旗| 遂川县| 丹棱县| 麦盖提县| 桐乡市| 南雄市| 温泉县| 赤城县| 如东县| 滨州市| 通山县| 固安县| 汤原县| 岳阳市| 安陆市|