使用Python中的cookielib模拟登录网站_python

前面简单提到了 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
python cookielib、python3 cookielib、cookielib python 2.7、python3的cookielib库、python3.5 cookielib,以便于您获取更多的相关知识。

时间: 2024-10-26 05:29:10

使用Python中的cookielib模拟登录网站_python的相关文章

开发工具-curl 模拟登录网站,表单数据的填写问题

问题描述 curl 模拟登录网站,表单数据的填写问题 10C <form name=form1 method=post action=""/Control""><input type=""hidden"" name=""id"" value=""2000""><table border=""0&qu

解决方案-python或java httpclient模拟登录,cookie获取问题

问题描述 python或java httpclient模拟登录,cookie获取问题 目前准备用python或java httpclient做一个模拟登录的程序,可是无法获取cookie, 原因是,请求登录URL时,服务器反应是分两步来进行的.流程大概如下: 1. 首先,服务器会先发过来一个.JS文件,浏览器执行其中的函数,生成cookie,貌似存到document.cookie中. 2. 然后,需要带着生成的cookie才能去访问登录URL. 因为我的程序不能像浏览器一样执行.js文件,所以也

【CURL】模拟登录网站并获取用户信息

模拟登录网站并获取用户信息 前言 这次来做的是通过代码的方式,模拟登录秒拍官网,获取登录用户的信息. 前后端分离 本文的标题是CURL,传统的网站是PHP代码直接渲染项目视图,通过表单提交到控制器直接进行数据操作. 传统模拟登录的方式在页面上找到表单元素,直接进行模拟表单提交. 近两年前端技术趋于完善,实现了前后端分离. 分析页面元素 秒拍官网地址 http://www.miaopai.com/ 通过审查元素以及源代码查找,在本页面并没有form标签,由此推断页面是通过js进行提交的. 查找提交

php-PHP curl模拟登录网站但被困在登录页面

问题描述 PHP curl模拟登录网站但被困在登录页面 在以下的代码中我已经成功获取了cookies并保存在txt文档里,但是无法跳转到登录页面.请教?<?php $ch = curl_init(); $data='email= &password= &autologin=0'; $cookie_file=fopen($_SERVER['DOCUMENT_ROOT'].""cookies.txt""w""); curl_se

求C#模拟登录网站,带验证码例子

问题描述 求C#模拟登录网站,带验证码例子 解决方案 解决方案二:我也在找啊,找了很多,都不行.郁闷呢啊.解决方案三:这个只能自己编个要分析验证码图片的话,要看对方混淆的方式,一般来说字符有交叉.变形.杂色.再加上干扰点线的话,目前我知道的算法就分析不了了,你也别费心了.解决方案四:第一次看到技术区发蛋贴的....

在Python中使用cookielib和urllib2配合PyQuery抓取网页信息_python

刚才好无聊,突然想起来之前做一个课表的点子,于是百度了起来. 刚开始,我是这样想的:在写微信墙的时候,用到了urllib2[两行代码抓网页],那么就只剩下解析html了.于是百度:python解析html.发现一篇好文章,其中介绍到了pyQuery. pyQuery 是 jQuery 在 Python 中的实现,能够以 jQuery 的语法來操作解析 HTML 文档.使用前需要安装,Mac安装方法如下: sudo easy_install pyquery OK!安装好了! 我们来试一试吧: fr

python采用requests库模拟登录和抓取数据的简单示例_python

如果你还在为python的各种urllib和urlibs,cookielib 头疼,或者还还在为python模拟登录和抓取数据而抓狂,那么来看看我们推荐的requests,python采集数据模拟登录必备利器! 这也是python推荐的HTTP客户端库: 本文就以一个模拟登录的例子来加以说明,至于采集大家就请自行发挥吧. 代码很简单,主要是展现python的requests库的简单至极,代码如下: s = requests.session() data = {'user':'用户名','pass

php 模拟登录网站并获取用户信息示例

前言 这次来做的是通过代码的方式,模拟登录秒拍官网,获取登录用户的信息. 前后端分离 本文的标题是CURL,传统的网站是PHP代码直接渲染项目视图,通过表单提交到控制器直接进行数据操作. 传统模拟登录的方式在页面上找到表单元素,直接进行模拟表单提交. 近两年前端技术趋于完善,实现了前后端分离. 分析页面元素 秒拍官网地址 http://www.miaopai.com/ 通过审查元素以及源代码查找,在本页面并没有form标签,由此推断页面是通过js进行提交的. 查找提交地址 由于提交的js代码可能

PHP中使用CURL模拟登录并获取数据实例_php实例

cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数,开发者可以从PHP手册中获取更多关于cURL信息.本文以模拟登录开源中国(oschina)为例,和大家分享cURL的使用. PHP的curl()在抓取网页的效率方面是比较高的,而且支持多线程,而file_get_contents()效率就要稍低些,当然,使用curl时需要开启下curl扩展. 代码实战 先来看登录部分的代码: 复制代码 代码如下