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用来获得图片exif信息的库实例分析
Mar 16 Python
Python实现抓取城市的PM2.5浓度和排名
Mar 19 Python
Python 操作MySQL详解及实例
Apr 30 Python
python psutil库安装教程
Mar 19 Python
python实现类之间的方法互相调用
Apr 29 Python
查看python下OpenCV版本的方法
Aug 03 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
解决pytorch DataLoader num_workers出现的问题
Jan 14 Python
Python使用matplotlib绘制圆形代码实例
May 27 Python
详解anaconda安装步骤
Nov 23 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
解析link_mysql的php版
2013/06/30 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
js注意img图片的onerror事件的分析
2011/01/01 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
vuex的module模块用法示例
2018/11/12 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
使用zrender.js绘制体温单效果
2019/10/31 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
jQuery实现日历效果
2020/09/11 jQuery
python django事务transaction源码分析详解
2017/03/17 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
pandas.cut具体使用总结
2019/06/24 Python
python打开使用的方法
2019/09/30 Python
python调用接口的4种方式代码实例
2019/11/19 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
校园环保建议书
2014/05/14 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
2014年教研员工作总结
2014/12/23 职场文书
会计工作能力自我评价
2015/03/05 职场文书
创业计划书之农家乐
2019/10/09 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python
Java设计模式中的命令模式
2022/04/28 Java/Android
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS