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 02 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
20个常用Python运维库和模块
Feb 12 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
Python Tornado批量上传图片并显示功能
Mar 26 Python
python3 logging日志封装实例
Apr 08 Python
python 调用Google翻译接口的方法
Dec 09 Python
使用python对excel表格处理的一些小功能
Jan 25 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 Python
浅析Python中的随机采样和概率分布
Dec 06 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序列号生成函数和字符串替换函数代码
2012/06/07 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
js window.event对象详尽解析
2009/02/17 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
javascript简单比较日期大小的方法
2016/01/05 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
python中的列表推导浅析
2014/04/26 Python
python万年历实现代码 含运行结果
2017/05/20 Python
python回调函数中使用多线程的方法
2017/12/25 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
python3.x实现发送邮件功能
2018/05/22 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
2019/07/01 Python
pytorch SENet实现案例
2020/06/24 Python
高中生毕业学习总结的自我评价
2013/11/14 职场文书
外语系毕业生找工作的求职信
2013/11/28 职场文书
代理人委托书
2014/08/01 职场文书
2015年党员承诺书
2015/01/21 职场文书
文明上网主题班会
2015/08/14 职场文书
《风筝》教学反思
2016/02/23 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python