您的位置:首页 > 其它

PY27 RE匹配 输入账号密码获取盐城工学院教务系统成绩

2018-03-24 16:48 447 查看
# coding:utf-8
#  盐工教务系统
import urllib2,urllib
import cookielib,re

#临时存储学生cookie
stuCookie=''
#声明一个CookieJar对象实例来保存cookie
cookie = cookielib.CookieJar()
#利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
handler=urllib2.HTTPCookieProcessor(cookie)
#通过handler来构建opener
opener = urllib2.build_opener(handler)
#此处的open方法同urllib2的urlopen方法,也可以传入request

url='http://222.188.0.102/loginAction.do'

stuID=raw_input("学号:")
stuPWd=raw_input("密码:")

formdata={
'zjh':stuID,
'mm':stuPWd,
}

data=urllib.urlencode(formdata)
request=urllib2.Request(url,data=data)
response = opener.open(request)
for item in cookie:
if item.name=='JSESSIONID':
stuCookie=item.value

print 'JSESSIONID='+stuCookie+'\n'+'*'*30

headers={
'Connection':' keep-alive',
'Upgrade-Insecure-Requests':' 1',

'User-Agent':' Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36',
'Accept':' text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Language':' zh-CN,zh;q=0.9',

'Cookie':'JSESSIONID='+stuCookie,
}

sec_url = 'http://222.188.0.102/gradeLnAllAction.do?type=ln&oper=fainfo&fajhh=4750 '
request = urllib2.Request(sec_url, headers=headers)
response233 = urllib2.urlopen(request)
html = response233.read()
9c4a

content=html.decode('gbk')
#print html

pattern=re.compile(r'<tr class=".*?</td>\s*'
+'<td.*?</td>\s*'#跳过无效表格
+'<td align="center">\s*(.*?)\s*</td>\s*'#获取表格
+'<td.*?</td>\s*'*3#跳过无不需要的表格
+'.*?<p align="center">(.*?) </P>'#获取成绩
+'.*?<td align="center">\s*(.*?)\s*</td>'#获取学分
#+'\s*?<td align="center">\s*(.*?)\s*</td>'
,re.S)
res=pattern.findall(content)
for item in res:
for i in item:
print i
print '*'*30
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐