使用Python中的cookielib模拟登录网站
2015-04-09 09:25
1181 查看
前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序。简单说一下流程:先用cookielib获取cookie,再用获取到的cookie,进入需要登录的网站。
# -*- coding: utf-8 -*- # !/usr/bin/python import urllib2 import urllib import cookielib import re auth_url = 'http://www.nowamagic.net/' home_url = 'http://www.nowamagic.net/'; # 登陆用户名和密码 data={ "username":"nowamagic", "password":"pass" } # urllib进行编码 post_data=urllib.urlencode(data) # 发送头信息 headers ={ "Host":"www.nowamagic.net", "Referer": "http://www.nowamagic.net" } # 初始化一个CookieJar来处理Cookie cookieJar=cookielib.CookieJar() # 实例化一个全局opener opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) # 获取cookie req=urllib2.Request(auth_url,post_data,headers) result = opener.open(req) # 访问主页 自动带着cookie信息 result = opener.open(home_url) # 显示结果 print result.read()
再附带几个示例程序:
1. 使用已有的cookie访问网站
import cookielib, urllib2 ckjar = cookielib.MozillaCookieJar(os.path.join('C:\Documents and Settings\tom\Application Data\Mozilla\Firefox\Profiles\h5m61j1i.default', 'cookies.txt')) req = urllib2.Request(url, postdata, header) req.add_header('User-Agent', \ 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)') opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(ckjar) ) f = opener.open(req) htm = f.read() f.close()
2. 访问网站获得cookie,并把获得的cookie保存在cookie文件中
import cookielib, urllib2 req = urllib2.Request(url, postdata, header) req.add_header('User-Agent', \ 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)') ckjar = cookielib.MozillaCookieJar(filename) ckproc = urllib2.HTTPCookieProcessor(ckjar) opener = urllib2.build_opener(ckproc) f = opener.open(req) htm = f.read() f.close() ckjar.save(ignore_discard=True, ignore_expires=True)
3. 使用指定的参数生成cookie,并用这个cookie访问网站
import cookielib, urllib2 cookiejar = cookielib.CookieJar() urlOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar)) values = {'redirect':", 'email':'abc@abc.com', 'password':'password', 'rememberme':", 'submit':'OK, Let Me In!'} data = urllib.urlencode(values) request = urllib2.Request(url, data) url = urlOpener.open(request) print url.info() page = url.read() request = urllib2.Request(url) url = urlOpener.open(request) page = url.read() print page
您可能感兴趣的文章:
- python处理cookie详解
- Python模仿POST提交HTTP数据及使用Cookie值的方法
- python使用cookielib库示例分享
- python使用urllib2实现发送带cookie的请求
- Python爬虫利用cookie实现模拟登陆实例详解
- python模拟登录并且保持cookie的方法详解
- 详解Python的Django框架中的Cookie相关处理
- python使用cookie库操保存cookie详解
- 详解Python中的Cookie模块使用
- python cookielib 登录人人网的实现代码
- 玩转python爬虫之cookie使用方法
- python3实现读取chrome浏览器cookie
- 利用selenium 3.7和python3添加cookie模拟登陆的实现
- Python中urllib+urllib2+cookielib模块编写爬虫实战
- Python基于PycURL自动处理cookie的方法
- 在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
- Python使用cookielib模块操作cookie的实例教程
- Python get获取页面cookie代码实例
相关文章推荐
- 使用 Python 登录网站(转)
- 使用Python登录Github网站
- 黄聪:使用 Python 登录网站
- Python3使用requests登录人人影视网站的方法
- Python 3.3.3 使用requests模拟登录网站
- python网络爬虫之使用scrapy自动登录网站
- python-48:直接使用POST方法登录网站
- 黄聪:使用 Python 登录网站
- 使用 Python 登录网站
- 使用C#登录带验证码的网站
- Video : 将使用AD认证的SharePoint网站配置为表单方式登录
- 如何在ASP.NET中使用验证通过的Windows Live ID用户登录网站
- 使用C#登录带验证码的网站
- 使用C#实现网站用户登录
- 使用C#实现网站用户登录
- 使用C#登录带验证码的网站
- 使用C#登录带验证码的网站(转)
- 使用C#实现网站用户登录(转)
- 有的网站的相关内容必须要在登录后才可以查看,其登录信息保存在session变量之中。这样,使用asphttp等组件就难以正确得到所要的信息。
- 使用C#实现网站用户登录 转自博客园深蓝居