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 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
python字符串排序方法
Aug 29 Python
详解Python3中yield生成器的用法
Aug 20 Python
Python处理json字符串转化为字典的简单实现
Jul 07 Python
读取本地json文件,解析json(实例讲解)
Dec 06 Python
利用python打开摄像头及颜色检测方法
Aug 03 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
Apr 24 Python
django使用channels实现通信的示例
Oct 19 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
总结Python连接CS2000的详细步骤
Jun 23 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
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
php计算一个文件大小的方法
2015/03/30 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
python复制与引用用法分析
2015/04/08 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
在python中pandas的series合并方法
2018/11/12 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
python实现感知机模型的示例
2020/09/30 Python
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
趣味运动会活动方案
2014/02/12 职场文书
大学校务公开实施方案
2014/03/31 职场文书
幼师求职信
2014/06/23 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
Python使用UDP实现720p视频传输的操作
2021/04/24 Python