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学习笔记 下载
Feb 10 Python
Python群发邮件实例代码
Jan 03 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
Python实现的简单读写csv文件操作示例
Jul 12 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
Python 监测文件是否更新的方法
Jun 10 Python
Python调用钉钉自定义机器人的实现
Jan 03 Python
Node.js 和 Python之间该选择哪个?
Aug 05 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 Python
使用Pytorch搭建模型的步骤
Nov 16 Python
pycharm 的Structure界面设置操作
Feb 05 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 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高自定义性安全验证码代码
2011/11/27 PHP
php解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
基于jquery的商品展示放大镜
2010/08/07 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
JS实现的随机排序功能算法示例
2017/06/09 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
详解Python中的循环语句的用法
2015/04/09 Python
Python中的random()方法的使用介绍
2015/05/15 Python
python与php实现分割文件代码
2017/03/06 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
python实现Virginia无密钥解密
2019/03/20 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
卖房协议书
2014/04/11 职场文书
环保倡议书格式范文
2014/05/14 职场文书
个人批评与自我批评
2014/10/15 职场文书
化验员岗位职责
2015/02/14 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
小学运动会开幕词
2016/03/04 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
新员工入职感言范文!
2019/07/04 职场文书
解析python中的jsonpath 提取器
2022/01/18 Python