Python爬虫通过替换http request header来欺骗浏览器实现登录功能

 更新时间:2018年01月07日 15:33:51   作者:huahuayu  
这篇文章主要介绍了Python爬虫通过替换http request header来欺骗浏览器实现登录功能,需要的朋友可以参考下

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

相关文章

  • python多线程中的定时器你了解吗

    python多线程中的定时器你了解吗

    这篇文章主要为大家介绍了python多线程中的定时器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Python matplotlib绘图时使用鼠标滚轮放大/缩小图像

    Python matplotlib绘图时使用鼠标滚轮放大/缩小图像

    Matplotlib是Python程序员可用的事实上的绘图库,虽然它比交互式绘图库在图形上更简单,但它仍然可以一个强大的工具,下面这篇文章主要给大家介绍了关于Python matplotlib绘图时使用鼠标滚轮放大/缩小图像的相关资料,需要的朋友可以参考下
    2022-05-05
  • Python OpenCV图像模糊处理介绍

    Python OpenCV图像模糊处理介绍

    大家好,本篇文章主要讲的是Python OpenCV图像模糊处理介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • python中的文件打开与关闭操作命令介绍

    python中的文件打开与关闭操作命令介绍

    下面小编就为大家分享一篇python中的文件打开与关闭操作命令介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python随机3分钟发送一次消息完整代码

    python随机3分钟发送一次消息完整代码

    最近我接到这样的任务需求有一个实时任务,想要间隔3分钟发送,最近的一次消息,接下来通过本文给大家分享python随机3分钟发送一次消息,需要的朋友可以参考下
    2024-03-03
  • Pandas之DataFrame对象的列和索引之间的转化

    Pandas之DataFrame对象的列和索引之间的转化

    这篇文章主要介绍了Pandas之DataFrame对象的列和索引之间的转化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • python网络编程学习笔记(二):socket建立网络客户端

    python网络编程学习笔记(二):socket建立网络客户端

    看了这一节,突然之间对python网络编程学习笔记(1)中的一些不理解的问题有了认识,至少明白了socket是怎么回事。这里关于socket的起源等问题就不做笔记记录了,直接进入主题
    2014-06-06
  • Python JSON数据解析过程(最新推荐)

    Python JSON数据解析过程(最新推荐)

    json模块提供了将JSON格式的数据转换为Python对象(如列表、字典等)以及将Python对象转换为JSON格式的数据的方法,下面给大家分享使用json模块解析JSON数据的常见方法,感兴趣的朋友一起看看吧
    2024-02-02
  • Python和Java的语法对比分析语法简洁上python的确完美胜出

    Python和Java的语法对比分析语法简洁上python的确完美胜出

    Python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。这篇文章主要介绍了Python和Java的语法对比,语法简洁上python的确完美胜出 ,需要的朋友可以参考下
    2019-05-05
  • Python3基础教程之递归函数简单示例

    Python3基础教程之递归函数简单示例

    这篇文章主要给大家介绍了关于Python3基础教程之递归函数简单示例的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python3具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06

最新评论