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 03 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
3分钟学会一个Python小技巧
Nov 23 Python
详解Django-auth-ldap 配置方法
Dec 10 Python
对python产生随机的二维数组实例详解
Dec 13 Python
Python3 Tkinter选择路径功能的实现方法
Jun 14 Python
对Python的交互模式和直接运行.py文件的区别详解
Jun 29 Python
Python数据持久化存储实现方法分析
Dec 21 Python
Python configparser模块配置文件过程解析
Mar 03 Python
python实现人像动漫化的示例代码
May 17 Python
浅谈matplotlib默认字体设置探索
Feb 03 Python
Python编程编写完善的命令行工具
Sep 15 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
Jquery异步请求数据实例代码
2011/12/28 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
js控制台输出的方法(详解)
2016/11/26 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
浅谈python对象数据的读写权限
2016/09/12 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
信电学院毕业生自荐书
2014/05/24 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
公司更名通知函
2015/04/24 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
利用Redis实现点赞功能的示例代码
2022/06/28 Redis
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL