Python爬虫通过替换http request header来欺骗浏览器实现登录功能


Posted in Python onJanuary 07, 2018

以豆瓣为例,访问https://www.douban.com/contacts/list 来查看自己关注的人,要登录才能查看。

如果用requests.get()方法获取这个http,没登录只能抓取回一个登录界面,所以我们要用Python登录网站才能抓取想要的网页。

一个简便的方法就是自己在浏览器上登录好,然后通过下图方法(Chrome为例),找到自己的Cookie和User-Agent,然后发送request时用这复制来的header替换掉待发送的request以达到登录的目的,server端会凭这个认为你是已经登录的用户。

Python爬虫通过替换http request header来欺骗浏览器实现登录功能

代码如下:

import requests
headers = {
 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36',
 'Cookie':'gr_user_id=1f9ea7ea-462a-4a6f-9d55-156631fc6d45; bid=vPYpmmD30-k; ll="118282"; ue="codin; __utmz=30149280.1499577720.27.14.utmcsr=douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/doulist/240962/; __utmv=30149280.3049; _vwo_uuid_v2=F04099A9dd; viewed="27607246_26356432"; ap=1; ps=y; push_noty_num=0; push_doumail_num=0; dbcl2="30496987:gZxPfTZW4y0"; ck=13ey; _pk_ref.100001.8cb4=%5B%22%22%2C%22%22%2C1515153574%2C%22https%3A%2F%2Fbook.douban.com%2Fmine%22%5D; __utma=30149280.833870293.1473539740.1514800523.1515153574.50; __utmc=30149280; _pk_id.100001.8cb4=255d8377ad92c57e.1473520329.20.1515153606.1514628010.'
} #替换成自己的cookie
r = requests.get('https://www.douban.com/contacts/list', headers = headers)
print(r.text)

总结

以上所述是小编个大家介绍的Python爬虫通过替换http request header来欺骗浏览器实现登录 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
python3.5绘制随机漫步图
Aug 27 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
Python装饰器用法实例分析
Jan 14 Python
PyQt5创建一个新窗口的实例
Jun 20 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 Python
python模拟鼠标点击和键盘输入的操作
Aug 04 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 Python
讲解Python实例练习逆序输出字符串
May 06 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 #Python
详解Python核心编程中的浅拷贝与深拷贝
Jan 07 #Python
用python实现的线程池实例代码
Jan 06 #Python
pip matplotlib报错equired packages can not be built解决
Jan 06 #Python
Python实现的朴素贝叶斯分类器示例
Jan 06 #Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
Jan 06 #Python
Python爬虫中urllib库的进阶学习
Jan 05 #Python
You might like
php开发文档 会员收费1期
2012/08/14 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
Python列表切片用法示例
2017/04/19 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
怎么样写好简历中的自我评价
2013/10/25 职场文书
现金会计岗位职责
2013/12/05 职场文书
合作投资意向书
2014/04/01 职场文书
2014年部门工作总结
2014/11/12 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
家长通知书家长意见
2015/06/03 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
浅析python中特殊文件和特殊函数
2022/02/24 Python