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处理JSON数据并生成条形图
Aug 05 Python
Python中%r和%s的详解及区别
Mar 16 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
Python 可变类型和不可变类型及引用过程解析
Sep 27 Python
Python 支持向量机分类器的实现
Jan 15 Python
基于python实现把json数据转换成Excel表格
May 07 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 Python
Python3爬虫mitmproxy的安装步骤
Jul 29 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
Python中三种花式打印的示例详解
Mar 19 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 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中常用字符串处理代码片段整理
2011/11/07 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
Vue实现简单的留言板
2020/10/23 Javascript
对python3 urllib包与http包的使用详解
2018/05/10 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
NET程序员上机面试题
2015/05/23 面试题
几道Web/Ajax的面试题
2016/11/05 面试题
《和我们一样享受春天》教学反思
2014/02/07 职场文书
宣传活动总结范文
2014/07/01 职场文书
婚礼答谢礼品
2015/01/20 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
上学路上观后感
2015/06/16 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
python基础之文件处理知识总结
2021/05/23 Python
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
php png失真的原因及解决办法
2021/11/17 PHP