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安装numpy和pandas的方法步骤
May 27 Python
python对文件目录的操作方法实例总结
Jun 24 Python
Python对接六大主流数据库(只需三步)
Jul 31 Python
python列表插入append(), extend(), insert()用法详解
Sep 14 Python
python yield关键词案例测试
Oct 15 Python
python常用排序算法的实现代码
Nov 08 Python
Python如何使用函数做字典的值
Nov 30 Python
python实现布隆过滤器及原理解析
Dec 08 Python
Django集成celery发送异步邮件实例
Dec 17 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
Django权限设置及验证方式
May 13 Python
利用Python网络爬虫爬取各大音乐评论的代码
Apr 13 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
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP常用处理静态操作类
2015/04/03 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
jquery validate使用攻略 第四步
2010/07/01 Javascript
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
2013/04/23 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
简单谈谈Python中函数的可变参数
2016/09/02 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
解决PyCharm import torch包失败的问题
2018/10/13 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
20行python代码实现人脸识别
2019/05/05 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
python 5个实用的技巧
2020/09/27 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
恒华伟业笔试面试题
2015/02/26 面试题
2015最新婚礼司仪主持词
2015/06/30 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
七年级作文之雪景
2019/11/18 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL
Java 超详细讲解IO操作字节流与字符流
2022/03/25 Java/Android
tree shaking对打包体积优化及作用
2022/07/07 Java/Android