Python爬虫通过替换http request header来欺骗浏览器实现登录功能
作者:huahuayu 时间:2021-04-05 21:55:26
以豆瓣为例,访问https://www.douban.com/contacts/list 来查看自己关注的人,要登录才能查看。
如果用requests.get()方法获取这个http,没登录只能抓取回一个登录界面,所以我们要用Python登录网站才能抓取想要的网页。
一个简便的方法就是自己在浏览器上登录好,然后通过下图方法(Chrome为例),找到自己的Cookie和User-Agent,然后发送request时用这复制来的header替换掉待发送的request以达到登录的目的,server端会凭这个认为你是已经登录的用户。
代码如下:
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来欺骗浏览器实现登录 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
来源:http://www.cnblogs.com/huahuayu/p/8207037.html
标签:python,爬虫,http,request,header
0
投稿
猜你喜欢
极简主义网站设计:寓丰富于简单
2009-12-07 21:37:00
Python的ORM框架中SQLAlchemy库的查询操作的教程
2023-11-20 19:33:01
Python Pandas list列表数据列拆分成多行的方法实现
2021-04-20 18:56:01
浅谈Python实时检测CPU和GPU的功耗
2021-06-11 17:05:58
详解Python中位运算的简单实现
2021-09-07 14:36:38
Python使用Flask-SQLAlchemy连接数据库操作示例
2024-01-27 10:34:36
保护Access 2000数据库的安全
2008-10-23 13:55:00
ASP制作中使用MYSQL的分析
2008-10-13 09:25:00
开发心得--写给想学Javascript朋友的一点经验之谈
2009-02-25 11:42:00
Vue CLI2升级至Vue CLI3的方法步骤
2024-06-05 10:03:25
记一次Vue中$route序列号报错
2024-05-02 17:04:03
Python3利用Dlib19.7实现摄像头人脸识别的方法
2022-08-08 06:41:22
Django Admin实现上传图片校验功能
2021-12-12 02:27:03
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2024-06-05 09:32:20
CentOS7yum安装PHP7.2的操作方法
2024-05-22 10:08:38
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2024-01-18 17:16:05
谈PHP生成静态页面分析 模板+缓存+写文件
2023-11-14 12:44:39
《写给大家看的设计书》阅读笔记之色彩
2009-07-30 12:45:00
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2022-07-26 19:08:11
使用递归删除树形结构的所有子节点(java和mysql实现)
2024-01-12 23:22:16