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端会凭这个认为你是已经登录的用户。

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来欺骗浏览器实现登录 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

来源: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
  • asp之家 网络编程 m.aspxhome.com