模拟SDUT OJ登陆

来源:互联网 发布:迷彩服淘宝分类 编辑:程序博客网 时间:2024/06/05 07:54
#!/usr/bin/env python#-*-coding:utf-8-*-import sysimport  urllib, urllib2import cookielibimport getpassfrom bs4 import BeautifulSouphome_url = 'http://acm.sdut.edu.cn/onlinejudge2/index.php/Home'login_url = 'http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Login/login'    #安装cookie处理cookie_support = urllib2.HTTPCookieProcessor(cookielib.CookieJar())opener = urllib2.build_opener(cookie_support)urllib2.install_opener(opener)#初始化cookiehome_temp = urllib2.urlopen(home_url)#伪装成goole浏览器,以免服务器拒绝访问headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'}uername = raw_input('请输入用户名')key = getpass.getpass('请输入登录密码') #密码不可见values = {'user_name': uername, 'password': key}#loginpost = urllib.urlencode(values)request = urllib2.Request(login_url, post, headers)response = urllib2.urlopen(request)html = response.read()#解析登录后的页面并判断是否登录成功soup = BeautifulSoup(html, 'lxml')if soup.find(text = 'Logout') != None:    print '登录成功!'else:    print '登录失败!'    sys.exit(0) #直接退出    #找到个人信息页面info_url = 'http://acm.sdut.edu.cn' + soup.find(class_ = 'nav navbar-nav navbar-right').li.a['href']html = urllib2.urlopen(info_url)info = BeautifulSoup(html, 'lxml')#然后就可以搞事情啦~获取你想要的信息,比如这里我们获取用户AC的题目temp = str(info.find_all(class_ = 'inner problem_list')[1])temp = temp[33:-7]t =  temp.split('</a>')problem = []for i in range(len(t)-1):string = str(t[i])problem.append(string[-4:])problem.sort()print problemprint '总共%d个'% len(problem)

放一张运行截图吧


原创粉丝点击