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进阶教程之异常处理
Aug 30 Python
python 时间戳与格式化时间的转化实现代码
Mar 23 Python
浅谈python字符串方法的简单使用
Jul 18 Python
django 开发忘记密码通过邮箱找回功能示例
Apr 17 Python
Python对多属性的重复数据去重实例
Apr 18 Python
Django保护敏感信息的方法示例
May 09 Python
python binascii 进制转换实例
Jun 12 Python
Python实现最大子序和的方法示例
Jul 05 Python
python使用pandas处理excel文件转为csv文件的方法示例
Jul 18 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 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 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
javascript引导程序
2008/10/26 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
js中的面向对象入门
2017/03/06 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
vue中过滤器filter的讲解
2019/01/21 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
python简单判断序列是否为空的方法
2015/06/30 Python
对python函数签名的方法详解
2019/01/22 Python
解决python flask中config配置管理的问题
2019/07/26 Python
Python 求数组局部最大值的实例
2019/11/26 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
计算机科学与技术应届生求职信
2013/11/07 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
买房协议书
2014/04/11 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
责任书范本大全
2015/05/11 职场文书
清明节随笔
2015/08/15 职场文书
八年级语文教学反思
2016/03/03 职场文书