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 Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
Python实现的RSS阅读器实例
Jul 25 Python
Python文件处理
Feb 29 Python
Windows下安装python MySQLdb遇到的问题及解决方法
Mar 16 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
快速排序的四种python实现(推荐)
Apr 03 Python
Pandas之groupby( )用法笔记小结
Jul 23 Python
python查看数据类型的方法
Oct 12 Python
Python中顺序表原理与实现方法详解
Dec 03 Python
解决Python3下map函数的显示问题
Dec 04 Python
Numpy与Pytorch 矩阵操作方式
Dec 27 Python
python GUI计算器的实现
Oct 09 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
Ext 表单布局实例代码
2009/04/30 Javascript
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
AngularJS学习第二篇 AngularJS依赖注入
2017/02/13 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Python实现微信表情包炸群功能
2021/01/28 Python
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
审计主管岗位职责
2014/01/31 职场文书
《尊严》教学反思
2014/02/11 职场文书
趣味比赛活动方案
2014/02/15 职场文书
淘宝客服工作职责
2014/07/11 职场文书
公司收款委托书范本
2014/09/20 职场文书
个人作风建设心得体会
2014/10/22 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
外出听课学习心得体会
2016/01/15 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
MySQL 计算连续登录天数
2022/05/11 MySQL