Python模拟登陆3: 进入选课系统(手工输入验证码阶段)

其实最想做的是选课插件,于是这次试试了下选课系统,但是选课系统 有验证码。 很是蛋疼。 需要识别。 但是现在可以用另一种方法。就是下载到本地手动输入。也只需要一次就够了。因为登陆成功后就可以随意操作其他东西了。 后面再学习验证码的智能识别。

首先主要是模拟逻辑是。先设置一个cookie存储器,用它去访问验证码链接。然后会得到cookie.还有下载好的验证码图片,就在本地。然后再把验证码,用户名,密码,和那个cookie一起提交到登陆。于是cookie就一致了。 有点不舒服的就是需要在本地看下那个图片长什么样,然后再输入控制台。具体代码是:

#!usr/bin/env python

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

import os
import urllib2
import urllib
import cookielib
import re

Img_URL='http://gs.uestc.edu.cn/wsxk/VerifyCodeGenServlet.do'
Login_URL='http://gs.uestc.edu.cn/wsxk/login.jsp'
Class_URL='http://gs.uestc.edu.cn/wsxk/jsp/T_PYGL_KWGL_WSXK_KXKC.jsp'
username='XXXX'
password='XXXX'
def login():
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    urllib2.install_opener(opener)
    #get img
    img_req=urllib2.Request(Img_URL)
    img_response=opener.open(img_req)
    try:
        out=open('code','wb')
        #print img_response.read()
        out.write(img_response.read())
        out.flush()
        out.close()
        print 'get code success'
    except IOError:
        print 'file wrong'
    #input code
    img_code=raw_input("please input code: ")
    print 'your code is %s'%img_code
    #login
    LoginData = {
            'Login.Token1':username,
            'Login.Token2':password,
            'verifyCode':img_code,
            };
    login_req = urllib2.Request(Login_URL, urllib.urlencode(LoginData));
    login_req.add_header('User-Agent', "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
    login_response=opener.open(login_req)
    print 'login success'
    fout=open("tt.html","w")
    fout.write(login_response.read())
    fout.close()
    #load class info
    print 'load class'
    fout=open('t1.html','w')
    fout.write(opener.open(Class_URL).read())
    fout.close()
if __name__=='__main__':
    login()
时间: 2024-11-10 01:10:55

Python模拟登陆3: 进入选课系统(手工输入验证码阶段)的相关文章

Python模拟登陆万能法-微博|知乎

Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法.你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆.本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅用其作为例子来讲解. 用到的库有"selenium"和"requests".通过selenium进行模拟登陆,然后将Cookies传入requests,最终用requests进行网站的抓取.优点就是不但规避了"selenium"其本身抓取速度慢的问题

Python模拟登陆万能法

此文转自:https://zhuanlan.zhihu.com/p/28587931   转录只是为了方便学习,感谢他的分享 Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法.你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆.本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅用其作为例子来讲解. 用到的库有"selenium"和"requests".通过selenium进行模拟登陆,然后将Cookies传入reque

c#实现从其他网站抓取imei码信息,手工输入验证码

阅读全文:http://www.yzswyl.cn/blread-1603.html 功能:从其他网站手工输入验证码并抓取手机IMEI信息 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.For

python模拟登陆实践

对于一些需要登陆的网址爬取数据,需要登录才能访问.本文介绍如何利用python进行模拟登陆 准备工具: 1.搭建django 框架 用于模拟登陆 2.fiddler抓包工具,chrome浏览器 3.pycharm   编辑器 步骤: 1.开启django 服务,这里就不多描述,直接百度一下,就能找到很多答案(记得创建一个superuser,以便后面的登陆 ) 进入 http://127.0.0.1:8000/admin/     这是django自带的后台,进行登陆时,django自带了  cs

通过抓包,实现Python模拟登陆各网站,原理分析!

一.教程简介 1.1 基本介绍 通过分析登陆流程并使用 Python 实现模拟登陆到一个实验提供的网站,在实验过程中将学习并实践 Python 的网络编程,Python 实现模拟登陆的方法,使用 Firefox 抓包分析插件分析网络数据包等知识. 模拟登录可以帮助用户自动化完成很多操作,在不同场合下有不同的用处,无论是自动化一些日常的繁琐操作还是用于爬虫都是一项很实用的技能.本课程通过 Firefox 和 Python 来实现,环境要求如下: Python 库:urllib, http.cook

3.python小项目:学生选课系统

学生选课系统 编程核心:在对象中封装对象 目录结构: 1.administrator.py import random import os import sys sys.path.append(os.path.dirname(os.path.dirname(__file__))) import time import pickle from lib import models from config import settings from lib.models import * # 全部导入

Python模拟登陆练习——imooc.com登陆

写下这篇文章的时候,是博主学习python的第三天( 也许是第四天:( ),python是博主接触的第二门解释型语言(第一门是javascript). 讲真在很久之前就想要用博客记录自己的学习历程了,然而就像写日记一样,写着写着就放弃了-.- so今天决定给自己一个好的开端~ 博主的学习方式是直奔目的,遇到问题百度各种博客,网站,百度找不到google找,就这样.这种学习方式是真的见效快,但显而易见,基础会比较薄弱. 因此学习python的基本语法,就直奔爬虫了! ---------------

Python模拟登陆:模拟登陆电子科大信息门户测试

最近在学习Python的网络操作,网上有很多模拟登陆方法.这里做个笔记. 没有验证码的还是比较容易的. #coding:utf-8 import re import urllib import urllib2 import cookielib import os import json import sys import time from urllib import quote,unquote from urllib2 import HTTPError from urllib2 import

Python模拟登陆

模拟人人登陆 #encoding=utf-8 import urllib2 import urllib import cookielib def renrenBrower(url,user,password): #登陆页面,能够通过抓包工具分析获得,如fiddler.wireshark login_page = "http://www.renren.com/PLogin.do" try: #获得一个cookieJar实例 cj = cookielib.CookieJar() #cook