爬取正方教务系统完成成绩查询

刚刚开始接触爬虫,在爬过起点中文网这种不要登陆的网页后转向教务系统这种需要登陆的网页,登录这个因为还有验证码,刚接触所以花费了很长时间,说到底其实就是把你的信息交给网站让它可以认得你的过程,而登录过后还需要选择特定的网页,一直没法抓取特定的源码也花费了很久,反正因为菜都花了很久,参考了很多大佬的代码 ,总共耗时两天,终于完成。有些东西我也不知道理解的对不对,如有不对,请指点迷津!!P.S:=推荐火狐浏览器,也不知道是我眼拙还是浏览器的问题,之前用谷歌浏览器几个关键的东西都没找到被隐藏了,但是火狐就会显示出来,可能会比较方便
以下是登录代码:

#这里大多东西都是从网页F12后的头中提取的
![登陆后的界面Headers](https://img-blog.csdn.net/20180728085750402?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQwNDE0NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
import json
import requests
import re
from html.parser import *
import urllib.request
import os
import csv
import urllib
from bs4 import BeautifulSoup
from urllib import parse

username="********"#这里填自己的学号密码
password="********"

webpage = requests.get(url="http://222.24.62.120/default2.aspx")
Cookie = webpage.cookies  # 获取网页cookies
headers = {
    'User-Agent': r'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36)',
    'Upgrade-Insecure-Requests':'1',
    'Referer':'http://222.24.62.120/xscjcx.aspx?xh=username&xm=(密码的编码)&gnmkdm=N121605'#这些都是F12从特定网页中直接提取的
}

while True:
    url = "http://222.24.62.120/CheckCode.aspx"  # 验证码所在连接
    pic = requests.get(url, cookies=Cookie, headers=headers)
    if os.path.exists(r'f://yanzhengma.jpg'):
        os.remove(r'f://yanzhengma.jpg')
    with open(r'f://yanzhengma.jpg', 'wb')as f:
        f.write(pic.content)
        f.close()
    # username = input("输入用户名: ")
    # password = input("输入密码 ")

    # os.startfile(r'f:yanzheng.jpg')
    ycode = input("输入弹出的验证码: ")#从本地找验证码

    payload = {
        '__VIEWSTATE':' dDwtMTIxNTQzNzk3NTt0PHA8bDxTb3J0RXhwcmVzO3NmZGNiaztkZzM7ZHlieXNjajtTb3J0RGlyZTt4aDtzdHJfdGFiX2JqZztjamN4X2xzYjt6eGNqY3h4czs+O2w8a2NtYztcZTtiamc7XGU7YXNjOzA0MTcyMTE5O3pmX2N4Y2p0al8wNDE3MjExOTs7MDs+PjtsPGk8MT47PjtsPHQ8O2w8aTw0PjtpPDEwPjtpPDIzPjtpPDI4PjtpPDM2PjtpPDQwPjtpPDQyPjtpPDQ0PjtpPDQ2PjtpPDQ4PjtpPDUwPjtpPDUyPjtpPDU0PjtpPDU4PjtpPDYwPjtpPDYyPjs+O2w8dDx0PHA8cDxsPERhdGFUZXh0RmllbGQ7RGF0YVZhbHVlRmllbGQ7PjtsPFhOO1hOOz4+Oz47dDxpPDI+O0A8XGU7MjAxNy0yMDE4Oz47QDxcZTsyMDE3LTIwMTg7Pj47Pjs7Pjt0PHQ8cDxwPGw8RGF0YVRleHRG…paw5a2m5YiGOz4+Ozs7Oz47QDA8cDxsPEhlYWRlclRleHQ7PjtsPOWIm+aWsOasoeaVsDs+Pjs7Ozs+Ozs7Pjs7Ozs7Ozs7Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOacrOS4k+S4muWFsTE1MeS6ujtvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxYSVlPVTs+Pjs+Ozs+O3Q8cDxwPGw8SW1hZ2VVcmw7PjtsPC4vZXhjZWwvMDQxNzIxMTkuanBnOz4+Oz47Oz47Pj47dDw7bDxpPDM+Oz47bDx0PEAwPDs7Ozs7Ozs7Ozs+Ozs+Oz4+Oz4+Oz4+Oz45Xwe6W3nEdXsATQH3RI0PW9pz3Q==',
        'txtUserName': '',#自己的学号和密码,其实也可以从原网页中看到
        'TextBox2': '',
        'txtSecretCode': ycode,
        'RadioButtonList1': '%D1%A7%C9%FA',
        'Button1': "",
        'lbLanguage': '',
        'hidPdrs': '',
        'hidsc': '',


    }
    Log_in = r"http://222.24.62.120/default2.aspx"#登录的链接
    # Log_in = r""

    r = requests.post(url=Log_in, data=payload, headers=headers, cookies=Cookie)
    # 用正则算了
    pat = r'<title>(.*?)</title>'  # 获取标题的正则表达式
    x = re.findall(pat, r.text)
    if (x[0] == "欢迎使用正方教务管理系统!请登录"):
        print("登陆失败")
    else:
        print("登陆成功")
        # print(r.text)
        break

接下来就在网页中选信息,找特定网页,F12观察提取自己需要的信息

#![选取后的界面](https://img-blog.csdn.net/20180728090102904?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQwNDE0NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)、
#![找到的对应文件](https://img-blog.csdn.net/20180728094321530?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQwNDE0NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
#![文件的header](https://img-blog.csdn.net/20180728094700321?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQwNDE0NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
#![参数,data里的东西](https://img-blog.csdn.net/20180728094812719?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQwNDE0NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
#我选取的信息是最高成绩那一项
#因为不知道哪个有用,只好把所以header里的东西都搬过来了,大佬莫学
#注意得看Response找到含有自己想要信息的那一页
lheaders = {
    'Accept': r'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding':'gzip, deflate',
    'Cache-Control': 'private',
    'Content-Length': '81597',
    'Content-Type':'application/x-www-form-urlencoded',
    'Connection': 'keep-alive',
    'Host': '222.24.62.120',
    'Upgrade-Insecure-Requests':'1',
    'Origin':'http://222.24.62.120',
    'User-Agent': r'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0;  TheWorld 7)',
    'Cookie':'ASP.NET_SessionId=ckjwrpugds0nspfcynwkpr45',#这个cookie好像是不是会更新?第二天的cookie和前一天不一样导致爬不到网页还吓了我一大跳
    'Referer':'http://222.24.62.120/xscjcx.aspx?xh=04172119&xm=%D3%E0%E8%F7%ACu&gnmkdm=N121605'
}
Date = {
        '__VIEWSTATE':'dDwtMTIxNTQzNzk3NTt0PHA8bDxTb3J0RXhwcmVzO3NmZGNiazt6eGNqY3h4cztkZzM7ZHlieXNjajtTb3J0RGlyZTt4aDtjamN4X2xzYjtzdHJfdGFiX2JqZzs+O2w8a2NtYztcZTswO2JqZztcZTthc2M7MDQxNzIxMTk7O3pmX2N4Y2p0al8wNDE3MjExOTs+PjtsPGk8MT47PjtsPHQ8O2w8aTw0PjtpPDEwPjtpPDIzPjtpPDI4PjtpPDM2PjtpPDQwPjtpPDQyPjtpPDQ0PjtpPDQ2PjtpPDQ4PjtpPDUwPjtpPDUyPjtpPDU0PjtpPDU4PjtpPDYwPjtpPDYyPjs+O2w8dDx0PHA8cDxsPERhdGFUZXh0RmllbGQ7RGF0YVZhbHVlRmllbGQ7PjtsPFhOO1hOOz4+Oz47dDxpPDI+O0A8XGU7MjAxNy0yMDE4Oz47QDxcZTsyMDE3LTIwMTg7Pj47Pjs7Pjt0PHQ8cDxwPGw8RGF0YVRleHRGaWVsZDtEYXRhVmFsdWVGaWVsZDs+O2w8a2N4em1jO2tjeHpkbTs+Pjs+O3Q8aTwxMj47QDzlv4Xkv67or7476ZmQ6YCJ6K++O+S7u+mAieivvjvor77lpJblrp7ot7XmlZnlraY76L6F5L+u6K++O+i3qOWtpuenkTvntKDotKjmi5PlsZU75YWs5YWx6YCJ5L+u6K++O+S6uuaWh+e0oOi0qOmZkOmAiTvpgInkv67or7476YCJ5L+u6K++KOWwlOmbhSk7XGU7PjtAPDAxOzAyOzAzOzA0OzA1OzA2OzA3OzA4OzA5OzEwOzExO1xlOz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxcZTs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDtWaXNpYmxlOz47bDzlrablj7fvvJowNDE3MjExOTtvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOWnk+WQje+8muS9meaik+eRhDtvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOWtpumZou+8muiuoeeul+acuuWtpumZojtvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOS4k+S4mu+8mjtvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOe9kee7nOW3peeoiztvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDzkuJPkuJrmlrnlkJE6Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOihjOaUv+ePre+8mue9kee7nDE3MDQ7bzx0Pjs+Pjs+Ozs+O3Q8QDA8cDxwPGw8VmlzaWJsZTs+O2w8bzxmPjs+Pjs+Ozs7Ozs7Ozs7Oz47Oz47dDw7bDxpPDE+O2k8Mz47aTw1PjtpPDc+O2k8OT47aTwxMz47aTwxNT47aTwxNz47aTwyMT47aTwyMz47aTwyND47aTwyNT47aTwyNz47aTwyOT47aTwzMT47aTwzMz47aTwzNT47aTw0Mz47aTw0OT47aTw1Mz47aTw1ND47PjtsPHQ8cDxwPGw8VmlzaWJsZTtUZXh0Oz47bDxvPHQ+O+aJgOmAieWtpuWIhjYw77yb6I635b6X5a2m5YiGNjDvvJvph43kv67lrabliIYw77yb5q2j6ICD5pyq6YCa6L+H5a2m5YiGIDDjgIJcPGJyXD47Pj47Pjs7Pjt0PEAwPHA8cDxsPFZpc2libGU7PjtsPG88Zj47Pj47cDxsPHN0eWxlOz47bDxESVNQTEFZOm5vbmU7Pj4+Ozs7Ozs7Ozs7Oz47Oz47dDw7bDxpPDEzPjs+O2w8dDxAMDw7Ozs7Ozs7Ozs7Pjs7Pjs+Pjt0PHA8cDxsPFRleHQ7VmlzaWJsZTs+O2w86Iez5LuK5pyq6YCa6L+H6K++56iL5oiQ57up77yaO288Zj47Pj47Pjs7Pjt0PEAwPHA8cDxsPFZpc2libGU7UGFnZUNvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZUl0ZW1Db3VudDtEYXRhS2V5czs+O2w8bzxmPjtpPDE+O2k8MD47aTwwPjtsPD47Pj47cDxsPHN0eWxlOz47bDxESVNQTEFZOm5vbmU7Pj4+Ozs7Ozs7Ozs7Oz47Oz47dDxAMDxwPHA8bDxWaXNpYmxlO1BhZ2VDb3VudDtfIUl0ZW1Db3VudDtfIURhdGFTb3VyY2VJdGVtQ291bnQ7RGF0YUtleXM7PjtsPG88dD47aTwxPjtpPDM+O2k8Mz47bDw+Oz4+O3A8bDxzdHlsZTs+O2w8RElTUExBWTpibG9jazs+Pj47Ozs7Ozs7Ozs7PjtsPGk8MD47PjtsPHQ8O2w8aTwxPjtpPDI+O2k8Mz47PjtsPHQ8O2w8aTwwPjtpPDE+O2k8Mj47aTwzPjtpPDQ+O2k8NT47PjtsPHQ8cDxwPGw8VGV4dDs+O2w85b+F5L+u6K++Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDw5Mzs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8NTIuNTA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDQwLjU7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPCZuYnNwXDs7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0PjtpPDU+Oz47bDx0PHA8cDxsPFRleHQ7PjtsPOmAieS/ruivvjs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8NDc7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDQuNTA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDQyLjU7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPCZuYnNwXDs7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0PjtpPDU+Oz47bDx0PHA8cDxsPFRleHQ7PjtsPOmAieS/ruivvijlsJTpm4UpOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwwOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwzOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwwOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwwOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47Pj47Pj47Pj47dDxAMDw7Ozs7Ozs7Ozs7Pjs7Pjt0PEAwPHA8cDxsPFZpc2libGU7UGFnZUNvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZUl0ZW1Db3VudDtEYXRhS2V5czs+O2w8bzx0PjtpPDE+O2k8MTA+O2k8MTA+O2w8Pjs+PjtwPGw8c3R5bGU7PjtsPERJU1BMQVk6YmxvY2s7Pj4+Ozs7Ozs7Ozs7Oz47bDxpPDA+Oz47bDx0PDtsPGk8MT47aTwyPjtpPDM+O2k8ND47aTw1PjtpPDY+O2k8Nz47aTw4PjtpPDk+O2k8MTA+Oz47bDx0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzms5Xlrabnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzlt6XnqIvnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzlt6Xnp5Hnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDAuNTA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDznrqHnkIbnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDznu4/mtY7nsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDznkIbnp5Hnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzkvZPogrLnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzmloflrabnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzoibrmnK/nsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzlk7Llrabnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjs+Pjs+Pjt0PEAwPDs7Ozs7Ozs7Ozs+Ozs+O3Q8QDA8cDxwPGw8VmlzaWJsZTtQYWdlQ291bnQ7XyFJdGVtQ291bnQ7XyFEYXRhU291cmNlSXRlbUNvdW50O0RhdGFLZXlzOz47bDxvPHQ+O2k8MT47aTwxPjtpPDE+O2w8Pjs+PjtwPGw8c3R5bGU7PjtsPERJU1BMQVk6YmxvY2s7Pj4+Ozs7Ozs7Ozs7Oz47bDxpPDA+Oz47bDx0PDtsPGk8MT47PjtsPHQ8O2w8aTwwPjtpPDE+O2k8Mj47aTwzPjtpPDQ+O2k8NT47PjtsPHQ8cDxwPGw8VGV4dDs+O2w85ZCI6K6hOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDzmrKE7Pj47Pjs7Pjs+Pjs+Pjs+Pjt0PEAwPHA8cDxsPFZpc2libGU7PjtsPG88Zj47Pj47cDxsPHN0eWxlOz47bDxESVNQTEFZOm5vbmU7Pj4+Ozs7Ozs7Ozs7Oz47Oz47dDxAMDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Ozs7Ozs7Ozs7Pjs7Pjt0PEAwPHA8cDxsPFZpc2libGU7UGFnZUNvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZUl0ZW1Db3VudDtEYXRhS2V5czs+O2w8bzxmPjtpPDE+O2k8MD47aTwwPjtsPD47Pj47cDxsPHN0eWxlOz47bDxESVNQTEFZOm5vbmU7Pj4+Ozs7Ozs7Ozs7Oz47Oz47dDxAMDxwPHA8bDxWaXNpYmxlO1BhZ2VDb3VudDtfIUl0ZW1Db3VudDtfIURhdGFTb3VyY2VJdGVtQ291bnQ7RGF0YUtleXM7PjtsPG88Zj47aTwxPjtpPDA+O2k8MD47bDw+Oz4+O3A8bDxzdHlsZTs+O2w8RElTUExBWTpub25lOz4+Pjs7Ozs7Ozs7Ozs+Ozs+O3Q8QDA8cDxwPGw8VmlzaWJsZTtQYWdlQ291bnQ7XyFJdGVtQ291bnQ7XyFEYXRhU291cmNlSXRlbUNvdW50O0RhdGFLZXlzOz47bDxvPGY+O2k8MT47aTwwPjtpPDA+O2w8Pjs+Pjs+O0AwPEAwPHA8bDxGb290ZXJUZXh0Oz47bDzmgLvorqHvvJo7Pj47Ozs7Pjs7QDA8cDxsPEhlYWRlclRleHQ7PjtsPOWIm+aWsOWGheWuuTs+Pjs7Ozs+O0AwPHA8bDxIZWFkZXJUZXh0Oz47bDzliJvmlrDlrabliIY7Pj47Ozs7PjtAMDxwPGw8SGVhZGVyVGV4dDs+O2w85Yib5paw5qyh5pWwOz4+Ozs7Oz47Ozs+Ozs7Ozs7Ozs7Pjs7Pjt0PHA8cDxsPFRleHQ7VmlzaWJsZTs+O2w85pys5LiT5Lia5YWxMTUx5Lq6O288dD47Pj47Pjs7Pjt0PHA8cDxsPFZpc2libGU7VGV4dDs+O2w8bzx0PjvmiYDmnInor77nqIvlubPlnYflrabliIbnu6nngrnvvJozLjU0Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlO1RleHQ7PjtsPG88dD475a2m5YiG57up54K55oC75ZKM77yaMjEyLjEwOz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxYSVlPVTs+Pjs+Ozs+O3Q8cDxwPGw8SW1hZ2VVcmw7PjtsPC4vZXhjZWwvMDQxNzIxMTkuanBnOz4+Oz47Oz47Pj47dDxwPGw8VmlzaWJsZTs+O2w8bzxmPjs+PjtsPGk8Mz47PjtsPHQ8QDA8Ozs7Ozs7Ozs7Oz47Oz47Pj47Pj47Pj47PiG5uUroU5R3+QBfF0/MVeknbD21',
        # '__VIEWSTATE':'dDwtMTIxNTQzNzk3NTt0PHA8bDxTb3J0RXhwcmVzO3NmZGNiazt6eGNqY3h4cztkZzM7ZHlieXNjajtTb3J0RGlyZTt4aDtjamN4X2xzYjtzdHJfdGFiX2JqZzs+O2w8a2NtYztcZTswO2JqZztcZTthc2M7MDQxNzIxMTk7O3pmX2N4Y2p0al8wNDE3MjExOTs+PjtsPGk8MT47PjtsPHQ8O2w8aTw0PjtpPDEwPjtpPDIzPjtpPDI4PjtpPDM2PjtpPDQwPjtpPDQyPjtpPDQ0PjtpPDQ2PjtpPDQ4PjtpPDUwPjtpPDUyPjtpPDU0PjtpPDU4PjtpPDYwPjtpPDYyPjs+O2w8dDx0PHA8cDxsPERhdGFUZXh0RmllbGQ7RGF0YVZhbHVlRmllbGQ7PjtsPFhOO1hOOz4+Oz47dDxpPDI+O0A8XGU7MjAxNy0yMDE4Oz47QDxcZTsyMDE3LTIwMTg7Pj47Pjs7Pjt0PHQ8cDxwPGw8RGF0YVRleHRG…paw5a2m5YiGOz4+Ozs7Oz47QDA8cDxsPEhlYWRlclRleHQ7PjtsPOWIm+aWsOasoeaVsDs+Pjs7Ozs+Ozs7Pjs7Ozs7Ozs7Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOacrOS4k+S4muWFsTE1MeS6ujtvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxYSVlPVTs+Pjs+Ozs+O3Q8cDxwPGw8SW1hZ2VVcmw7PjtsPC4vZXhjZWwvMDQxNzIxMTkuanBnOz4+Oz47Oz47Pj47dDw7bDxpPDM+Oz47bDx0PEAwPDs7Ozs7Ozs7Ozs+Ozs+Oz4+Oz4+Oz4+Oz4yszFQh1/8lqMLnat0ZbgPIriA8g==',
        'ddIXN': '',
        'ddIXQ': '',
        'btn_zg':'%BF%CE%B3%CC%D7%EE%B8%DF%B3%C9%BC%A8',#这个就特定信息
        'ddl_kcxz':'',
}
html = requests.post("自己登录后的网页链接,headers=lheaders,data=Date)一定要在F12里找真正的链接地址#

这时候一定到了特定网页,可以看到特定的成绩信息了,接下来就是提取了,我这个小辣鸡又碰到了问题,东西也太多了吧,标签也一样,emmmmmmmmmmm全部正则试过了总是提取不到,只能一个个正则了所以接下来的代码会比较辣眼睛,大佬请闪避…emmmm那个结果本来是要用表单打印的,可是那个提取完字典只有一个是元组的元素,而且格式不好控制对齐,所以用了以下的格式**

Cyuyan1s=re.findall('<td>JS100031</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td>',html.text,re.S)
Cyuyan2s=re.findall('<td>JS100032</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
aqyyss=re.findall('<td>TX400050</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
ccysxs=re.findall('<td>81356905</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
cxysx=re.findall('<td>81356905</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
dxty1=re.findall('<td>TY100010</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
dxty2=re.findall('<td>TY100020</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wuli=re.findall('<td>lx140102</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wuli2=re.findall('<td>LX060102</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wy1=re.findall('<td>WY100010</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wy2=re.findall('<td>WY100020</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
dfdy=re.findall('<td>80873069</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
gdsx1=re.findall('<td>LX120111</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
gdsx2=re.findall('<td>LX120121</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
ks=re.findall('<td>JS200110</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
dl=re.findall('<td>JS110100</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wd=re.findall('<td>JS100292</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
jsll=re.findall('<td>WZ100010</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
jx=re.findall('<td>WZ200010</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
lssx=re.findall('<td>JS100330</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
rssx=re.findall('<td>JS200100</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
sx=re.findall('<td>RW100020</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
xd=re.findall('<td>LX120201</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
xsyzc=re.findall('<td>RW100011</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
jxds=re.findall('<td>RW100030</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
# print("课程名称"+'\t\t'+'课程性质'+'\t\t'+'学分'+'\t\t'+'成绩')
# print(name + "的成绩单")
name = "%D3%E0%E8%F7%ACu"#原网页提取的,输出时解码一下

print(parse.unquote(name, encoding="gbk")+ "的成绩单")
def print_(dicts):
    print("------------------------------")
    print(dicts[0][0])
    print(dicts[0][1])
    print(dicts[0][2])
    print(dicts[0][3])
    print("------------------------------\n")
print_(Cyuyan1s)
print_(Cyuyan2s)
print_(aqyyss)
print_(ccysxs)
print_(cxysx)
print_(dxty1)
print_(dxty2)
print_(wuli)
print_(wuli2)
print_(wy1)
print_(wy2)
print_(dfdy)
print_(gdsx1)
print_(gdsx2)
print_(ks)
print_(dl)
print_(wd)
print_(jsll)
print_(jx)
print_(lssx)
print_(rssx)
print_(sx)
print_(xd)
print_(xsyzc)
print_(jxds)

全部代码,注意其中有几处包括链接都要改成自己对应的链接,因为牵扯学号姓名这些:

import json
import requests
import re
from html.parser import *
import urllib.request
import os
import csv
import urllib
from bs4 import BeautifulSoup
from urllib import parse

username=""#要填自己的学号密码
password=""

webpage = requests.get(url="http://222.24.62.120/default2.aspx")
Cookie = webpage.cookies  # 获取网页cookies
headers = {
    'User-Agent': r'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36)',
    'Upgrade-Insecure-Requests':'1',
    'Referer':'http://222.24.62.120/xscjcx.aspx?xh=04172119&xm=%D3%E0%E8%F7%ACu&gnmkdm=N121605'
}

while True:
    url = "http://222.24.62.120/CheckCode.aspx"  # 验证码所在连接
    pic = requests.get(url, cookies=Cookie, headers=headers)
    if os.path.exists(r'f://yanzhengma.jpg'):
        os.remove(r'f://yanzhengma.jpg')
    with open(r'f://yanzhengma.jpg', 'wb')as f:
        f.write(pic.content)
        f.close()
    # username = input("输入用户名: ")
    # password = input("输入密码 ")

    # os.startfile(r'f:yanzheng.jpg')
    ycode = input("输入弹出的验证码: ")

    payload = {
        '__VIEWSTATE':‘ dDwtMTIxNTQzNzk3NTt0PHA8bDxTb3J0RXhwcmVzO3NmZGNiaztkZzM7ZHlieXNjajtTb3J0RGlyZTt4aDtzdHJfdGFiX2JqZztjamN4X2xzYjt6eGNqY3h4czs+O2w8a2NtYztcZTtiamc7XGU7YXNjOzA0MTcyMTE5O3pmX2N4Y2p0al8wNDE3MjExOTs7MDs+PjtsPGk8MT47PjtsPHQ8O2w8aTw0PjtpPDEwPjtpPDIzPjtpPDI4PjtpPDM2PjtpPDQwPjtpPDQyPjtpPDQ0PjtpPDQ2PjtpPDQ4PjtpPDUwPjtpPDUyPjtpPDU0PjtpPDU4PjtpPDYwPjtpPDYyPjs+O2w8dDx0PHA8cDxsPERhdGFUZXh0RmllbGQ7RGF0YVZhbHVlRmllbGQ7PjtsPFhOO1hOOz4+Oz47dDxpPDI+O0A8XGU7MjAxNy0yMDE4Oz47QDxcZTsyMDE3LTIwMTg7Pj47Pjs7Pjt0PHQ8cDxwPGw8RGF0YVRleHRG…paw5a2m5YiGOz4+Ozs7Oz47QDA8cDxsPEhlYWRlclRleHQ7PjtsPOWIm+aWsOasoeaVsDs+Pjs7Ozs+Ozs7Pjs7Ozs7Ozs7Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOacrOS4k+S4muWFsTE1MeS6ujtvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxYSVlPVTs+Pjs+Ozs+O3Q8cDxwPGw8SW1hZ2VVcmw7PjtsPC4vZXhjZWwvMDQxNzIxMTkuanBnOz4+Oz47Oz47Pj47dDw7bDxpPDM+Oz47bDx0PEAwPDs7Ozs7Ozs7Ozs+Ozs+Oz4+Oz4+Oz4+Oz45Xwe6W3nEdXsATQH3RI0PW9pz3Q==’ 
        'txtUserName': '04172119',
        'TextBox2': '***‘,
        'txtSecretCode': ycode,
        'RadioButtonList1': '%D1%A7%C9%FA',
        'Button1': "",
        'lbLanguage': '',
        'hidPdrs': '',
        'hidsc': '',


    }
    Log_in = r"http://222.24.62.120/default2.aspx"
    # Log_in = r""

    r = requests.post(url=Log_in, data=payload, headers=headers, cookies=Cookie)
    # 用正则算了
    pat = r'<title>(.*?)</title>'  # 获取标题的正则表达式
    x = re.findall(pat, r.text)
    if (x[0] == "欢迎使用正方教务管理系统!请登录"):
        print("登陆失败")
    else:
        print("登陆成功")
        # print(r.text)
        break

lheaders = {
    'Accept': r'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding':'gzip, deflate',
    'Cache-Control': 'private',
    'Content-Length': '81597',
    'Content-Type':'application/x-www-form-urlencoded',
    'Connection': 'keep-alive',
    'Host': '222.24.62.120',
    'Upgrade-Insecure-Requests':'1',
    'Origin':'http://222.24.62.120',
    'User-Agent': r'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0;  TheWorld 7)',
    'Cookie':'ASP.NET_SessionId=qxdtui55wpihvr450kbzxjyf',
    'Referer':'http://222.24.62.120/xscjcx.aspx?xh=&xm=%ACu&gnmkdm=N121605'#填自己的学号密码对应的链接哦
}
Date = {
        '__EVENTARGUMENT':'',
        '__EVENTTARGET':'',
        '__VIEWSTATE':'dDwtMTIxNTQzNzk3NTt0PHA8bDxTb3J0RXhwcmVzO3NmZGNiazt6eGNqY3h4cztkZzM7ZHlieXNjajtTb3J0RGlyZTt4aDtjamN4X2xzYjtzdHJfdGFiX2JqZzs+O2w8a2NtYztcZTswO2JqZztcZTthc2M7MDQxNzIxMTk7O3pmX2N4Y2p0al8wNDE3MjExOTs+PjtsPGk8MT47PjtsPHQ8O2w8aTw0PjtpPDEwPjtpPDIzPjtpPDI4PjtpPDM2PjtpPDQwPjtpPDQyPjtpPDQ0PjtpPDQ2PjtpPDQ4PjtpPDUwPjtpPDUyPjtpPDU0PjtpPDU4PjtpPDYwPjtpPDYyPjs+O2w8dDx0PHA8cDxsPERhdGFUZXh0RmllbGQ7RGF0YVZhbHVlRmllbGQ7PjtsPFhOO1hOOz4+Oz47dDxpPDI+O0A8XGU7MjAxNy0yMDE4Oz47QDxcZTsyMDE3LTIwMTg7Pj47Pjs7Pjt0PHQ8cDxwPGw8RGF0YVRleHRGaWVsZDtEYXRhVmFsdWVGaWVsZDs+O2w8a2N4em1jO2tjeHpkbTs+Pjs+O3Q8aTwxMj47QDzlv4Xkv67or7476ZmQ6YCJ6K++O+S7u+mAieivvjvor77lpJblrp7ot7XmlZnlraY76L6F5L+u6K++O+i3qOWtpuenkTvntKDotKjmi5PlsZU75YWs5YWx6YCJ5L+u6K++O+S6uuaWh+e0oOi0qOmZkOmAiTvpgInkv67or7476YCJ5L+u6K++KOWwlOmbhSk7XGU7PjtAPDAxOzAyOzAzOzA0OzA1OzA2OzA3OzA4OzA5OzEwOzExO1xlOz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxcZTs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDtWaXNpYmxlOz47bDzlrablj7fvvJowNDE3MjExOTtvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOWnk+WQje+8muS9meaik+eRhDtvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOWtpumZou+8muiuoeeul+acuuWtpumZojtvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOS4k+S4mu+8mjtvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOe9kee7nOW3peeoiztvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDzkuJPkuJrmlrnlkJE6Oz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOihjOaUv+ePre+8mue9kee7nDE3MDQ7bzx0Pjs+Pjs+Ozs+O3Q8QDA8cDxwPGw8VmlzaWJsZTs+O2w8bzxmPjs+Pjs+Ozs7Ozs7Ozs7Oz47Oz47dDw7bDxpPDE+O2k8Mz47aTw1PjtpPDc+O2k8OT47aTwxMz47aTwxNT47aTwxNz47aTwyMT47aTwyMz47aTwyND47aTwyNT47aTwyNz47aTwyOT47aTwzMT47aTwzMz47aTwzNT47aTw0Mz47aTw0OT47aTw1Mz47aTw1ND47PjtsPHQ8cDxwPGw8VmlzaWJsZTtUZXh0Oz47bDxvPHQ+O+aJgOmAieWtpuWIhjYw77yb6I635b6X5a2m5YiGNjDvvJvph43kv67lrabliIYw77yb5q2j6ICD5pyq6YCa6L+H5a2m5YiGIDDjgIJcPGJyXD47Pj47Pjs7Pjt0PEAwPHA8cDxsPFZpc2libGU7PjtsPG88Zj47Pj47cDxsPHN0eWxlOz47bDxESVNQTEFZOm5vbmU7Pj4+Ozs7Ozs7Ozs7Oz47Oz47dDw7bDxpPDEzPjs+O2w8dDxAMDw7Ozs7Ozs7Ozs7Pjs7Pjs+Pjt0PHA8cDxsPFRleHQ7VmlzaWJsZTs+O2w86Iez5LuK5pyq6YCa6L+H6K++56iL5oiQ57up77yaO288Zj47Pj47Pjs7Pjt0PEAwPHA8cDxsPFZpc2libGU7UGFnZUNvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZUl0ZW1Db3VudDtEYXRhS2V5czs+O2w8bzxmPjtpPDE+O2k8MD47aTwwPjtsPD47Pj47cDxsPHN0eWxlOz47bDxESVNQTEFZOm5vbmU7Pj4+Ozs7Ozs7Ozs7Oz47Oz47dDxAMDxwPHA8bDxWaXNpYmxlO1BhZ2VDb3VudDtfIUl0ZW1Db3VudDtfIURhdGFTb3VyY2VJdGVtQ291bnQ7RGF0YUtleXM7PjtsPG88dD47aTwxPjtpPDM+O2k8Mz47bDw+Oz4+O3A8bDxzdHlsZTs+O2w8RElTUExBWTpibG9jazs+Pj47Ozs7Ozs7Ozs7PjtsPGk8MD47PjtsPHQ8O2w8aTwxPjtpPDI+O2k8Mz47PjtsPHQ8O2w8aTwwPjtpPDE+O2k8Mj47aTwzPjtpPDQ+O2k8NT47PjtsPHQ8cDxwPGw8VGV4dDs+O2w85b+F5L+u6K++Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDw5Mzs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8NTIuNTA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDQwLjU7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPCZuYnNwXDs7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0PjtpPDU+Oz47bDx0PHA8cDxsPFRleHQ7PjtsPOmAieS/ruivvjs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8NDc7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDQuNTA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDQyLjU7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPCZuYnNwXDs7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0PjtpPDU+Oz47bDx0PHA8cDxsPFRleHQ7PjtsPOmAieS/ruivvijlsJTpm4UpOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwwOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwzOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwwOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwwOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47Pj47Pj47Pj47dDxAMDw7Ozs7Ozs7Ozs7Pjs7Pjt0PEAwPHA8cDxsPFZpc2libGU7UGFnZUNvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZUl0ZW1Db3VudDtEYXRhS2V5czs+O2w8bzx0PjtpPDE+O2k8MTA+O2k8MTA+O2w8Pjs+PjtwPGw8c3R5bGU7PjtsPERJU1BMQVk6YmxvY2s7Pj4+Ozs7Ozs7Ozs7Oz47bDxpPDA+Oz47bDx0PDtsPGk8MT47aTwyPjtpPDM+O2k8ND47aTw1PjtpPDY+O2k8Nz47aTw4PjtpPDk+O2k8MTA+Oz47bDx0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzms5Xlrabnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzlt6XnqIvnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzlt6Xnp5Hnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDAuNTA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDznrqHnkIbnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDznu4/mtY7nsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDznkIbnp5Hnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzkvZPogrLnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzmloflrabnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzoibrmnK/nsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDxwPHA8bDxUZXh0Oz47bDzlk7Llrabnsbs7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDA7Pj47Pjs7Pjs+Pjs+Pjs+Pjt0PEAwPDs7Ozs7Ozs7Ozs+Ozs+O3Q8QDA8cDxwPGw8VmlzaWJsZTtQYWdlQ291bnQ7XyFJdGVtQ291bnQ7XyFEYXRhU291cmNlSXRlbUNvdW50O0RhdGFLZXlzOz47bDxvPHQ+O2k8MT47aTwxPjtpPDE+O2w8Pjs+PjtwPGw8c3R5bGU7PjtsPERJU1BMQVk6YmxvY2s7Pj4+Ozs7Ozs7Ozs7Oz47bDxpPDA+Oz47bDx0PDtsPGk8MT47PjtsPHQ8O2w8aTwwPjtpPDE+O2k8Mj47aTwzPjtpPDQ+O2k8NT47PjtsPHQ8cDxwPGw8VGV4dDs+O2w85ZCI6K6hOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwmbmJzcFw7Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDzmrKE7Pj47Pjs7Pjs+Pjs+Pjs+Pjt0PEAwPHA8cDxsPFZpc2libGU7PjtsPG88Zj47Pj47cDxsPHN0eWxlOz47bDxESVNQTEFZOm5vbmU7Pj4+Ozs7Ozs7Ozs7Oz47Oz47dDxAMDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Ozs7Ozs7Ozs7Pjs7Pjt0PEAwPHA8cDxsPFZpc2libGU7UGFnZUNvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZUl0ZW1Db3VudDtEYXRhS2V5czs+O2w8bzxmPjtpPDE+O2k8MD47aTwwPjtsPD47Pj47cDxsPHN0eWxlOz47bDxESVNQTEFZOm5vbmU7Pj4+Ozs7Ozs7Ozs7Oz47Oz47dDxAMDxwPHA8bDxWaXNpYmxlO1BhZ2VDb3VudDtfIUl0ZW1Db3VudDtfIURhdGFTb3VyY2VJdGVtQ291bnQ7RGF0YUtleXM7PjtsPG88Zj47aTwxPjtpPDA+O2k8MD47bDw+Oz4+O3A8bDxzdHlsZTs+O2w8RElTUExBWTpub25lOz4+Pjs7Ozs7Ozs7Ozs+Ozs+O3Q8QDA8cDxwPGw8VmlzaWJsZTtQYWdlQ291bnQ7XyFJdGVtQ291bnQ7XyFEYXRhU291cmNlSXRlbUNvdW50O0RhdGFLZXlzOz47bDxvPGY+O2k8MT47aTwwPjtpPDA+O2w8Pjs+Pjs+O0AwPEAwPHA8bDxGb290ZXJUZXh0Oz47bDzmgLvorqHvvJo7Pj47Ozs7Pjs7QDA8cDxsPEhlYWRlclRleHQ7PjtsPOWIm+aWsOWGheWuuTs+Pjs7Ozs+O0AwPHA8bDxIZWFkZXJUZXh0Oz47bDzliJvmlrDlrabliIY7Pj47Ozs7PjtAMDxwPGw8SGVhZGVyVGV4dDs+O2w85Yib5paw5qyh5pWwOz4+Ozs7Oz47Ozs+Ozs7Ozs7Ozs7Pjs7Pjt0PHA8cDxsPFRleHQ7VmlzaWJsZTs+O2w85pys5LiT5Lia5YWxMTUx5Lq6O288dD47Pj47Pjs7Pjt0PHA8cDxsPFZpc2libGU7VGV4dDs+O2w8bzx0PjvmiYDmnInor77nqIvlubPlnYflrabliIbnu6nngrnvvJozLjU0Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlO1RleHQ7PjtsPG88dD475a2m5YiG57up54K55oC75ZKM77yaMjEyLjEwOz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPHQ+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxYSVlPVTs+Pjs+Ozs+O3Q8cDxwPGw8SW1hZ2VVcmw7PjtsPC4vZXhjZWwvMDQxNzIxMTkuanBnOz4+Oz47Oz47Pj47dDxwPGw8VmlzaWJsZTs+O2w8bzxmPjs+PjtsPGk8Mz47PjtsPHQ8QDA8Ozs7Ozs7Ozs7Oz47Oz47Pj47Pj47Pj47PiG5uUroU5R3+QBfF0/MVeknbD21',
        # '__VIEWSTATE':'dDwtMTIxNTQzNzk3NTt0PHA8bDxTb3J0RXhwcmVzO3NmZGNiazt6eGNqY3h4cztkZzM7ZHlieXNjajtTb3J0RGlyZTt4aDtjamN4X2xzYjtzdHJfdGFiX2JqZzs+O2w8a2NtYztcZTswO2JqZztcZTthc2M7MDQxNzIxMTk7O3pmX2N4Y2p0al8wNDE3MjExOTs+PjtsPGk8MT47PjtsPHQ8O2w8aTw0PjtpPDEwPjtpPDIzPjtpPDI4PjtpPDM2PjtpPDQwPjtpPDQyPjtpPDQ0PjtpPDQ2PjtpPDQ4PjtpPDUwPjtpPDUyPjtpPDU0PjtpPDU4PjtpPDYwPjtpPDYyPjs+O2w8dDx0PHA8cDxsPERhdGFUZXh0RmllbGQ7RGF0YVZhbHVlRmllbGQ7PjtsPFhOO1hOOz4+Oz47dDxpPDI+O0A8XGU7MjAxNy0yMDE4Oz47QDxcZTsyMDE3LTIwMTg7Pj47Pjs7Pjt0PHQ8cDxwPGw8RGF0YVRleHRG…paw5a2m5YiGOz4+Ozs7Oz47QDA8cDxsPEhlYWRlclRleHQ7PjtsPOWIm+aWsOasoeaVsDs+Pjs7Ozs+Ozs7Pjs7Ozs7Ozs7Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPOacrOS4k+S4muWFsTE1MeS6ujtvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxYSVlPVTs+Pjs+Ozs+O3Q8cDxwPGw8SW1hZ2VVcmw7PjtsPC4vZXhjZWwvMDQxNzIxMTkuanBnOz4+Oz47Oz47Pj47dDw7bDxpPDM+Oz47bDx0PEAwPDs7Ozs7Ozs7Ozs+Ozs+Oz4+Oz4+Oz4+Oz4yszFQh1/8lqMLnat0ZbgPIriA8g==',
        'ddIXN': '',
        'ddIXQ': '',
        'xh':'04172119',
        'xm':'%D3%E0%E8%F7%ACu',
        'ddl_kcxz':'',
        'gnmkdm':'N121605',
        'btn_zg':'%BF%CE%B3%CC%D7%EE%B8%DF%B3%C9%BC%A8',

}
html = requests.post("http://222.24.62.120/xscjcx.aspx?xh=04172119&xm=%D3%E0%E8%F7%ACu&gnmkdm=N121605",
                    headers=lheaders,data=Date)
# print(html.text)
#
# soup = BeautifulSoup(html.text, 'lxml')
# nums = soup.find_all(attrs={'class': 'datelisthead'})
# soup=BeautifulSoup(html.text,"lxml")
# name=soup.find(id="lbl_xm")
# name=name.text
Cyuyan1s=re.findall('<td>JS100031</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td>',html.text,re.S)
Cyuyan2s=re.findall('<td>JS100032</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
aqyyss=re.findall('<td>TX400050</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
ccysxs=re.findall('<td>81356905</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
cxysx=re.findall('<td>81356905</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
dxty1=re.findall('<td>TY100010</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
dxty2=re.findall('<td>TY100020</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wuli=re.findall('<td>lx140102</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wuli2=re.findall('<td>LX060102</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wy1=re.findall('<td>WY100010</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wy2=re.findall('<td>WY100020</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
dfdy=re.findall('<td>80873069</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
gdsx1=re.findall('<td>LX120111</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
gdsx2=re.findall('<td>LX120121</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
ks=re.findall('<td>JS200110</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
dl=re.findall('<td>JS110100</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
wd=re.findall('<td>JS100292</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
jsll=re.findall('<td>WZ100010</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
jx=re.findall('<td>WZ200010</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
lssx=re.findall('<td>JS100330</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
rssx=re.findall('<td>JS200100</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
sx=re.findall('<td>RW100020</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
xd=re.findall('<td>LX120201</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
xsyzc=re.findall('<td>RW100011</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
jxds=re.findall('<td>RW100030</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>',html.text,re.S)
# print("课程名称"+'\t\t'+'课程性质'+'\t\t'+'学分'+'\t\t'+'成绩')
# print(name + "的成绩单")
name = "%D3%E0%E8%F7%ACu"

print(parse.unquote(name, encoding="gbk")+ "的成绩单")
def print_(dicts):
    print("------------------------------")
    print(dicts[0][0])
    print(dicts[0][1])
    print(dicts[0][2])
    print(dicts[0][3])
    print("------------------------------\n")
print_(Cyuyan1s)
print_(Cyuyan2s)
print_(aqyyss)
print_(ccysxs)
print_(cxysx)
print_(dxty1)
print_(dxty2)
print_(wuli)
print_(wuli2)
print_(wy1)
print_(wy2)
print_(dfdy)
print_(gdsx1)
print_(gdsx2)
print_(ks)
print_(dl)
print_(wd)
print_(jsll)
print_(jx)
print_(lssx)
print_(rssx)
print_(sx)
print_(xd)
print_(xsyzc)
print_(jxds)

部分结果:(又一次要暴露学渣的事实)

余梓瑄的成绩单
------------------------------
C语言程序设计Ⅰ
必修课
3.0
90
------------------------------

------------------------------
C语言程序设计Ⅱ
必修课
4.0
92
------------------------------

------------------------------
安全与隐私
选修课
0.5
合格
------------------------------

------------------------------
抽象艺术学
选修课(尔雅)
2
97
------------------------------

------------------------------
抽象艺术学
选修课(尔雅)
2
97
------------------------------

------------------------------
大学物理B
必修课
4.0
69
------------------------------

------------------------------
大学物理实验B
选修课
2.0
87
------------------------------

------------------------------
大学英语I
必修课
4.0
81
------------------------------

------------------------------
东方电影
选修课(尔雅)
1
99
------------------------------

------------------------------
高等数学AI
必修课
6.0
93
------------------------------

------------------------------
高等数学AII
必修课
6.0
85
------------------------------

------------------------------
高级语言课程设计
必修课
1.5
良好
------------------------------

------------------------------
计算机科学导论
选修课
2.0
76
------------------------------

------------------------------
计算机网络导论B
必修课
2.0
81
------------------------------

------------------------------
军事理论
必修课
1
99
------------------------------

------------------------------
军训
必修课
2.0
良好
------------------------------

------------------------------
离散数学
必修课
4.0
91
------------------------------

------------------------------
认识实习
必修课
0.5
中等
------------------------------

------------------------------
思想道德修养与法律基础
必修课
3.0
85
------------------------------

------------------------------
线性代数A
必修课
3.0
91
------------------------------

------------------------------
形势与政策I
必修课
0.5
99
------------------------------

------------------------------
中国近现代史纲要
必修课
2.0
80
------------------------------

猜你喜欢

转载自blog.csdn.net/weixin_42404145/article/details/81258902