• 模拟登陆江西理工大学教务系统


    验证码这块,没有进行处理,暂时可视化输出显示,手动输入

     1 # -*- coding:utf-8 -*-
     2 # author:zxy
     3 # date:2018-12-24
     4 # update:2018-12-26
     5 
     6 #https://cuiqingcai.com
     7 import requests
     8 import selenium
     9 from selenium import webdriver
    10 from time import sleep
    11 from selenium.webdriver.support.ui import WebDriverWait
    12 from selenium.webdriver.support import expected_conditions as EC
    13 from selenium.webdriver.common.by import By
    14 from bs4 import BeautifulSoup as bs
    15 from bs4 import BeautifulSoup
    16 from PIL import Image
    17 
    18 def getCookie(url):
    19     r=requests.get(url)
    20     cookie=r.cookies
    21     soup=BeautifulSoup(r.text,"lxml")
    22     # print(r.text)
    23     viewstate=soup.find('input')['value']
    24     print(viewstate)
    25 
    26     return cookie,viewstate
    27 
    28 def getCheckCode(url,headers,cookies):
    29     r=requests.get(url,headers=headers,cookies=cookies)
    30     with open('code.jpg','wb') as f:
    31         f.write(r.content)
    32     im=Image.open('code.jpg')
    33     im.show()
    34     code=input("请输入验证码")
    35     return code
    36 
    37 def login(url,code,viewstate,headers,cookies):
    38     formData={
    39         '__VIEWSTATE': viewstate,
    40         'txtUserName': '201*****',
    41         'TextBox2': '************',
    42         'txtSecretCode': code,
    43         'RadioButtonList1': '学生'.encode('gb2312'),
    44         'Button1': '',
    45         'lbLanguage': '',
    46         'hidPdrs': '',
    47         'hidsc': ''
    48     }
    49     r=requests.post(url,data=formData,headers=headers,cookies=cookies)
    50     r.encoding='gb2312'
    51     soup=BeautifulSoup(r.text,'lxml')
    52     welStr=soup.find(id='Label3').get_text()
    53     name=soup.find(id='xhxm').get_text()
    54     print(welStr,name)
    55 
    56 def main():
    57     headers = {
    58                 'User-Agent': "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chr"
    59                                   "ome/67.0.3396.99 Safari/537.36"
    60             }
    61 
    62     url = "http://ojw.jxust.edu.cn/"
    63     cookies,viewstate=getCookie(url)
    64     codeUrl = "http://ojw.jxust.edu.cn/CheckCode.aspx"
    65     loginUrl="http://ojw.jxust.edu.cn/default2.aspx"
    66     code=getCheckCode(codeUrl,headers,cookies)
    67 
    68     login(loginUrl,code,viewstate,headers,cookies)
    69 
    70 
    71 
    72 if __name__ == '__main__':
    73     main()
  • 相关阅读:
    android源码在线查看
    关于codereview工具与建议
    <转>如何进行code review
    [转] Android实时抓包分析 : 善用adb调试桥
    Swift:UIKit中Demo(一)
    Objective-C学习笔记(十)——循环语句for和do-while的使用
    一些牛人的IOS博客,mark下慢慢学习
    Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力)
    Web前端之基础知识
    通过金矿模型介绍动态规划
  • 原文地址:https://www.cnblogs.com/z-712/p/10652748.html
Copyright © 2020-2023  润新知