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使用urllib2获取网络资源实例讲解
Dec 02 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
Sep 18 Python
python pandas修改列属性的方法详解
Jun 09 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
解决pycharm回车之后不能换行或不能缩进的问题
Jan 16 Python
python实现一行输入多个值和一行输出多个值的例子
Jul 16 Python
django 环境变量配置过程详解
Aug 06 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
Django路由层URLconf作用及原理解析
Sep 24 Python
Python通过yagmail实现发送邮件代码解析
Oct 27 Python
python基于selenium爬取斗鱼弹幕
Feb 20 Python
python库Tsmoothie模块数据平滑化异常点抓取
Jun 10 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获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
javascript Base类 包含基本的方法
2009/07/22 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
js实现右键菜单功能
2016/11/28 Javascript
vue中如何使用ztree
2018/02/06 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
详解python的argpare和click模块小结
2019/03/31 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
详解Python 中的容器 collections
2020/08/17 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
医药个人求职信范文
2014/01/29 职场文书
求职信怎么写
2014/05/23 职场文书
会计做账心得体会
2016/01/22 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python