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
投稿

猜你喜欢

  • python处理大日志文件

    2021-11-09 22:21:14
  • Python机器学习从ResNet到DenseNet示例详解

    2023-04-21 09:19:16
  • JS简单实现DIV相对于浏览器固定位置不变的方法

    2023-08-05 22:30:12
  • 10个最容易犯的HTML标签错误

    2010-09-13 12:37:00
  • Go for-range 的 value值地址每次都一样的原因解析

    2023-09-23 12:59:20
  • 经验:解决DB2中出现的SQL1032N错误现象

    2009-09-02 14:10:00
  • 自己重新写了一个JavaScript的对象克隆函数

    2008-08-03 16:47:00
  • Yolov5更换BiFPN的详细步骤总结

    2023-01-17 02:51:22
  • DBA_2PC_PENDING 介绍

    2009-02-28 10:59:00
  • python之模拟鼠标键盘动作具体实现

    2022-12-23 10:51:29
  • 别人复制你网站的文章时自动加上注释

    2009-02-09 13:20:00
  • 最简短的拖动对象js代码实例

    2007-10-09 13:33:00
  • python jinja2模板的使用示例

    2023-08-11 05:12:12
  • Python 统计数据集标签的类别及数目操作

    2023-04-08 12:04:09
  • 修改 CentOS 6.x 上默认Python的方法

    2023-08-07 10:02:59
  • 总结Python连接CS2000的详细步骤

    2023-04-21 20:26:33
  • Python中内建函数的简单用法说明

    2021-09-01 08:19:58
  • python concurrent.futures模块的使用测试

    2023-01-30 16:48:59
  • ASP所有的Session变量获取实现代码

    2011-03-11 10:44:00
  • python得到单词模式的示例

    2021-04-22 08:25:48
  • asp之家 网络编程 m.aspxhome.com