python模拟登录东北大学校园卡主页

# -*- coding:utf-8 -*-

import requests
import random
import pytesseract
from bs4 import BeautifulSoup
from PIL import Image
import lxml

x = requests.session()
r = x.get('http://ecard.neu.edu.cn/SelfSearch/Login.aspx')
# print(r.text)

soup = BeautifulSoup(r.text, 'lxml')
view_state = soup.find('input', id = '__VIEWSTATE')['value']
event_validation = soup.find('input', id = '__EVENTVALIDATION')['value']
# print(view_state)
# print(event_validation)

a = x.get('http://ecard.neu.edu.cn/SelfSearch/validateimage.ashx?' + str(random.uniform(0,1)))

with open('a.jpg', 'wb') as file:
    file.write(a.content)

i = Image.open('a.jpg')
code = pytesseract.image_to_string(i)
print(code)

data = {
    '__EVENTVALIDATION':event_validation,
    '__VIEWSTATE':view_state,
    '__EVENTTARGET': 'btnLogin',
    'txtUserName':'',    # username
    'txtPassword':'',	 # password
    'txtVaildateCode':code,
    'hfIsManager': 0
}

b  = x.post('http://ecard.neu.edu.cn/SelfSearch/Login.aspx', data = data)
b.encoding = 'utf-8'

if('验证码错误' in str(b.content)):
    print 'fail'
else:
    print 'success'

c = x.get('http://ecard.neu.edu.cn/SelfSearch/User/Home.aspx')
print(c.text)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值