文档章节

Python模拟登录(带验证码)

 梦回雪夜观花
发布于 2016/02/05 11:31
字数 154
阅读 290
收藏 18
import urllib
import urllib2
import cookielib
    
def getImg(picurl):
    '''
    request for random_code picture and cookie 
    '''
    pic = opener.open(picurl).read()
    with open('./verifyImg.jpg','wb') as emptyPic:
        emptyPic.write(pic)

def verifyImg(picpath):
    '''
    TODO
    '''
    pass

def login(coo):
    loginUrl = 'http://jwxt.wust.edu.cn/whkjdx/Logon.do?method=logon'
   
    data = {'USERNAME':'*****', 'PASSWORD':'*****', 'RANDOMCODE':coo}
    #encode the postData
    postData = urllib.urlencode(data)
    
    user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
    header = {'User-Agent':user_agent,'Referer':'http://jwxt.wust.edu.cn/whkjdx/framework/main.jsp'}
    #generate a Request with url,postData headers and cookie
    request = urllib2.Request(loginUrl, postData, headers = header)
    #post data
    content = opener.open(request)
    #get html file
    mainUrl = 'http://jwxt.wust.edu.cn/whkjdx/framework/main.jsp'
    mainContent = opener.open(mainUrl).read()
    print mainContent 

if __name__ == '__main__':
    
    cookie = cookielib.CookieJar()
    handler = urllib2.HTTPCookieProcessor(cookie)
    opener = urllib2.build_opener(handler)

    picurl = 'http://jwxt.wust.edu.cn/whkjdx/verifycode.servlet'
    getImg(picurl)
    #verifyImg(picpath)
    
    randomCode = raw_input('Plz input teh randomcode:')
    
    login(randomCode)


© 著作权归作者所有

共有 人打赏支持
粉丝 8
博文 13
码字总数 16693
作品 0
武汉
程序员
python 淘宝系列(一):模拟登陆

前言 想实现python登录淘宝,大概有两种思路:1. 使用淘宝开放API接口; 2.使用模拟登陆发送post 数据登录。 两种方式各有优缺点。使用淘宝API,首先得装API库,比较大,有200多M,对小程序而...

艾柯
2014/01/07
0
8
Python3.6实现12306火车票自动抢票,附源码

Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理...

猫咪编程
06/05
0
0
带你入门Python爬虫,8个常用爬虫技巧盘点

python作为一门高级编程语言,它的定位是优雅、明确和简单。 我学用python差不多一年时间了, 用得最多的还是各类爬虫脚本, 写过抓代理本机验证的脚本、写过论坛中自动登录自动发贴的脚本 ...

糖宝lsh
08/08
0
0
Python + Selenium 登录QQ邮箱

Python + Selenium 自动化登录QQ邮箱 准备工作 Windows或则Linux 安装Python 安装Selenium 安装Chrome Driver 环境选择Windows 10 安装Python Windows下安装 python 3.7.0 (因为python 2和p...

迷你芊宝宝
07/02
0
0
福利 | Python专场竞技,这些书给你加把力!

端午节将至,各地龙舟备战竞技,粽子部队也整装待发。小编掐指一算,这种热闹的时节,是时候展现真正的技(fu)术(li)了! (“Python号”龙舟闪亮登场!) Python作为当下最流行的编程语言...

06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

php 使用redis锁限制并发访问类

1.并发访问限制问题 对于一些需要限制同一个用户并发访问的场景,如果用户并发请求多次,而服务器处理没有加锁限制,用户则可以多次请求成功。 例如换领优惠券,如果用户同一时间并发提交换领...

豆花饭烧土豆
11分钟前
0
0
Linux环境搭建 | 手把手教你配置Linux虚拟机

在上一节 「手把你教你安装Linux虚拟机」 里,我们已经安装好了Linux虚拟机,在这一节里,我们将配置安装好的Linux虚拟机,使其达到可以开发的程度。 Ubuntu刚安装完毕之后,还无法进行开发,...

良许Linux
13分钟前
0
0
Nginix开启SSL支持HTTPS访问(自签名方法)

Nginix开启SSL支持HTTPS访问(自签名方法) 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器...

openthings
29分钟前
0
0
(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部