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实现360皮肤按钮控件示例
Feb 21 Python
Python深入学习之闭包
Aug 31 Python
Python中的对象,方法,类,实例,函数用法分析
Jan 15 Python
Python 冒泡,选择,插入排序使用实例
Feb 05 Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
JPype实现在python中调用JAVA的实例
Jul 19 Python
基于python中的TCP及UDP(详解)
Nov 06 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
python实现textrank关键词提取
Jun 22 Python
python读取有密码的zip压缩文件实例
Feb 08 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
使用tensorflow 实现反向传播求导
May 26 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
解析在apache里面给php写虚拟目录的详细方法
2013/06/24 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
javascript版2048小游戏
2015/03/18 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
webstorm中vue语法的支持详解
2018/05/09 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
python保存数据到本地文件的方法
2018/06/23 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
《中国的气候》教学反思
2014/02/23 职场文书
初一学生期末评语
2014/04/24 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
运动会通讯稿100字
2015/07/20 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
八年级作文之友谊
2019/12/02 职场文书
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python