python 实现登录网页的操作方法


Posted in Python onMay 11, 2018

有些网页需要你登录之后才可以访问,你需要提供账户和密码。

只要在发送http请求时,带上含有正常登陆的cookie就可以了。

1、首先我们要先了解cookie的工作原理。

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。

2、之后我们要获取到用户正常登录的cookie.

python提供了cookieJar的库,只要把cookieJar的实例作为参数传到urllib2的一个opener里面。

然后访问一次登录的页面,cookie就已经保存下来了。之后通过这个实例访问所有的页面都带有正常登陆的cookie了。

以人人网为例子。

#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() 
    #cookieJar作为参数,获得一个opener的实例 
    opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
    #伪装成一个正常的浏览器,避免有些web服务器拒绝访问。 
    opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')] 
    #生成Post数据,含有登陆用户名密码。 
    data = urllib.urlencode({"email":user,"password":password}) 
    #以post的方法访问登陆页面,访问之后cookieJar会自定保存cookie 
    opener.open(login_page,data) 
    #以带cookie的方式访问页面 
    op=opener.open(url) 
    #读取页面源码 
    data= op.read() 
    return data 
  except Exception,e: 
    print str(e) 
#访问某用户的个人主页,其实这已经实现了人人网的签到功能。 
print renrenBrower("http://www.renren.com/home","用户名","密码")

以上这篇python 实现登录网页的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
初步介绍Python中的pydoc模块和distutils模块
Apr 13 Python
Matplotlib 生成不同大小的subplots实例
May 25 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
Nov 14 Python
Python地图绘制实操详解
Mar 04 Python
python下载库的步骤方法
Oct 12 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 Python
Python各种扩展名区别点整理
Feb 27 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
Python过滤掉numpy.array中非nan数据实例
Jun 08 Python
使用Keras实现简单线性回归模型操作
Jun 12 Python
python两种注释用法的示例
Oct 09 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
May 13 Python
Python利用splinter实现浏览器自动化操作方法
May 11 #Python
Python爬虫信息输入及页面的切换方法
May 11 #Python
对python-3-print重定向输出的几种方法总结
May 11 #Python
利用Python如何实现数据驱动的接口自动化测试
May 11 #Python
Python数据结构之图的应用示例
May 11 #Python
python 重定向获取真实url的方法
May 11 #Python
基于python 爬虫爬到含空格的url的处理方法
May 11 #Python
You might like
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
php自定义分页类完整实例
2015/12/25 PHP
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
nodejs如何在package.json中设置多条启动命令
2020/03/16 NodeJs
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
将Python代码打包为jar软件的简单方法
2015/08/04 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
简单谈谈python中的lambda表达式
2018/01/19 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
详解python中sort排序使用
2019/03/23 Python
python中_del_还原数据的方法
2020/12/09 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
外贸业务员工作职责
2014/01/06 职场文书
目标责任书范文
2014/04/14 职场文书
工作评语大全
2014/04/26 职场文书
初中新生军训方案
2014/05/13 职场文书
施工工地安全标语
2014/06/07 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
2016国培研修心得体会
2016/01/08 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
python脚本框架webpy模板控制结构
2021/11/20 Python