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中操作MySQL入门实例
Feb 08 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
Python学生信息管理系统修改版
Mar 13 Python
Python实现简单求解给定整数的质因数算法示例
Mar 25 Python
python自定义线程池控制线程数量的示例
Feb 22 Python
Python将json文件写入ES数据库的方法
Apr 10 Python
解决python调用自己文件函数/执行函数找不到包问题
Jun 01 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 Python
python实现网页录音效果
Oct 26 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 Python
Python 多进程原理及实现
Dec 21 Python
python实现KNN近邻算法
Dec 30 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数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
js验证表单第二部分
2006/11/25 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
js实现鼠标点击飘爱心效果
2020/08/19 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
python类型强制转换long to int的代码
2013/02/10 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Python帮你识破双11的套路
2019/11/11 Python
python可以用哪些数据库
2020/06/22 Python
医院实习介绍信
2014/01/12 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
给老婆的保证书
2015/01/16 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
五年级语文教学反思
2016/03/03 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书