以豆瓣为例,访问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爬虫通过替换http request header来欺骗浏览器实现登录功能

本文地址: http://www.cppcns.com/jiaoben/python/217002.html

pythonrequest得替代_Python爬虫通过替换http request header来欺骗浏览器实现登录功能...相关推荐

  1. python谷歌网页爬虫_python爬虫入门01:教你在 Chrome 浏览器轻松抓包

    通过 python爬虫入门:什么是爬虫,怎么玩爬虫? 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是 ...

  2. python网页抓包_python爬虫入门01:教你在 Chrome 浏览器轻松抓包

    通过 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是什么样的 所以我们要学会怎么抓咪咪! 哦,不对. ...

  3. pythonrequest得替代_python的扩展包requests的高级用法

    Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最 ...

  4. python123字符串替代_python字符串批量替换

    python中如何对多个字符快速替换 python中快速进行多个字符替换的方法小结 先给出结论: 要替换的字符数量不多时,可以直接链式replace()方法进行替换,效率非常高: 如果要替换的字符数量 ...

  5. python爬虫深入爬取_Python爬虫初学(一)—— 爬取段子

    最近开始学Python的爬虫,是在这个博客跟着学习的,该博主用的是Python 2.7版本,而我使用的是3.5版本,很多不兼容的地方,不过没关系,自己改改就好了. 我们想针对网站的内容进行筛选,只获取 ...

  6. python爬虫请求无反应_Python爬虫开发【第1篇】【HTTP与HTTPS请求与响应】

    一.HTTP.HTTPS介绍 HTTP协议(超文本传输协议):一种发布.接收HTML页面的方法 HTTPS协议:简单讲是HTTP安全版,在HTTP下加入SSL层 SSL(安全套接层),用于WEB的安全 ...

  7. python requests的作用_Python爬虫第一课:requests的使用

    requests模块的入门使用 注意是requests不是request. 1.为什么使用requests模块,而不是用python自带的urllib requests的底层实现就是urllib re ...

  8. python爬虫设计_python爬虫设计(刷访问量,赞)

    需要准备的工具: 刷博客访问量的原理是:打开一次网页博客访问量就增加一次.(新浪,搜狐等博客满足这个要求) count.py import webbrowser as web import time ...

  9. python爬取网页数据软件_python爬虫入门10分钟爬取一个网站

    一.基础入门 1.1什么是爬虫 爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序. 从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HT ...

最新文章

  1. python函数(三)
  2. Mac OS X 修复基本命令失效的问题
  3. Java RandomAccessFile writeBytes()方法与示例
  4. php设计的意义,PHP设计模式
  5. 2011年5月18日早会资料
  6. php7.2.2 配置数据库连接,Tp5连接sql server数据库(更新:PHP7.2加载不懂sqlsrv扩展)...
  7. access 江苏计算机二级_计算机二级考试都要考些什么?
  8. 监狱人员定位管理,提升智慧监狱信息化水平
  9. Wordpress世界最牛?做网站用国内cms建站系统才是正道
  10. 我的CSDN博客十年
  11. MacBook入门之——添加打印机
  12. Chalcolithic 铜石并用时代
  13. java无法验证证书_如何解决“证书无效,不能用于验证本网站的身份”错误?...
  14. 计算机提示无法验证发布者,win10 ie11提示由于无法验证发布者所以windows已经阻止此软件怎么办...
  15. 赞奇福利来袭:双重金秋好礼等着你
  16. Cesium变换3DTiles的位置(平移旋转缩放)
  17. PartnerLink,PartnerLinkType详解
  18. 分布式和集群的概念区别
  19. opencv(十):vs2019+opencv4.1+ C++配置
  20. 对齐次线性方程组同解充要条件的新理解

热门文章

  1. KPI tile在launchpad里正常显示number,但是进不了detail view
  2. ABAP webdynpro Dynamically add file upload
  3. CM: Word document里某些值没有被web service 填充的原因
  4. Regarding empty field check in business document save
  5. BSP UI Workbench double click component and see view list
  6. Triangle Leetcode
  7. SAP WebClient UI view controller所有可用的属性列表
  8. 使用openSSL构造一个支持https的nodejs服务器
  9. Jerry Wang一篇介绍ABAP调试心得的博客上了SAP社区的首页
  10. SAP UI5 CRM Reuse Fiori应用 note.js代码审查结果