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中的urllib2模块
Nov 13 Python
python实现批量修改文件名代码
Sep 10 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
Oct 20 Python
python3.6连接MySQL和表的创建与删除实例代码
Dec 28 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
深入理解Python异常处理的哲学
Feb 01 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
Django中ORM外键和表的关系详解
May 20 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
Python爬取梨视频的示例
Jan 29 Python
Jupyter notebook 不自动弹出网页的解决方案
May 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 mysql数据库操作分页类
2008/06/04 PHP
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
基于jquery的一个图片hover的插件
2010/04/24 Javascript
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
js中array的sort()方法使用介绍
2014/02/20 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
JS 新增Cookie 取cookie值 删除cookie 举例详解
2014/10/10 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
nodejs基础应用
2017/02/03 NodeJs
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
对VUE中的对象添加属性
2018/09/18 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
python套接字流重定向实例汇总
2016/03/03 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
企业节能减排实施方案
2014/03/19 职场文书
安全演讲稿大全
2014/05/09 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
赤壁观后感(2)
2015/06/15 职场文书
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL