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中列表、字典、元组、集合数据结构整理
Nov 20 Python
举例讲解Python面向对象编程中类的继承
Jun 17 Python
python线程、进程和协程详解
Jul 19 Python
好的Python培训机构应该具备哪些条件
May 23 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
python 求定积分和不定积分示例
Nov 20 Python
python实现简单井字棋小游戏
Mar 05 Python
屏蔽Django admin界面添加按钮的操作
Mar 11 Python
pycharm sciview的图片另存为操作
Jun 01 Python
python算的上脚本语言吗
Jun 22 Python
python中random.randint和random.randrange的区别详解
Sep 20 Python
python使用selenium爬虫知乎的方法示例
Oct 28 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
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
Python全排列操作实例分析
2018/07/24 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
Python Json数据文件操作原理解析
2020/05/09 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
乡镇庆八一活动方案
2014/02/02 职场文书
爱国演讲稿500字
2014/05/04 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
岗位工作说明书
2014/07/29 职场文书
会议欢迎词
2015/01/23 职场文书
同学毕业留言寄语
2015/02/27 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers