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 相关文章推荐
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
Aug 10 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
人生苦短我用python python如何快速入门?
Mar 12 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
python抓取多种类型的页面方法实例
Nov 20 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
python 如何引入协程和原理分析
Nov 30 Python
python如何实现递归转非递归
Feb 25 Python
Python实现文字pdf转换图片pdf效果
Apr 03 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
PHP新手上路(八)
2006/10/09 PHP
php的curl实现get和post的代码
2008/08/23 PHP
php正则表达式(regar expression)
2011/09/10 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
11种ASP连接数据库的方法
2015/09/18 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
分析python服务器拒绝服务攻击代码
2014/01/16 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
Java工程师面试集锦之Spring框架
2013/06/16 面试题
医生实习工作总结的自我评价
2013/09/27 职场文书
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
工伤赔偿协议书
2014/04/15 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸
使用scrapy实现增量式爬取方式
2022/06/21 Python