爬虫之requests模块在headers参数中携带cookie发送请求

网站经常利用请求头中的Cookie字段来做用户访问状态的保持,那么我们可以在headers参数中添加Cookie,模拟普通用户的请求。我们以github登陆为例:

1.1 github登陆抓包分析

  1. 打开浏览器,右键-检查,点击Net work,勾选Preserve log
  2. 访问github登陆的url地址 https://github.com/login
  3. 输入账号密码点击登陆后,访问一个需要登陆后才能获取正确内容的url,比如点击右上角的Your profile访问https://github.com/USER_NAME
  4. 确定url之后,再确定发送该请求所需要的请求头信息中的User-Agent和Cookie

1.2 完成代码

  • 从浏览器中复制User-Agent和Cookie
  • 浏览器中的请求头字段和值与headers参数中必须一致
  • headers请求参数字典中的Cookie键对应的值是字符串
import requestsurl = 'https://github.com/USER_NAME'# 构造请求头字典
headers = {# 从浏览器中复制过来的User-Agent'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36',# 从浏览器中复制过来的Cookie'Cookie': 'xxx这里是复制过来的cookie字符串'
}# 请求头参数字典中携带cookie字符串
resp = requests.get(url, headers=headers)print(resp.text)

3.3.3 运行代码验证结果

在打印的输出结果中搜索title,html中的标题文本内容如果是你的github账号,则成功利用headers参数携带cookie,获取登陆后才能访问的页面

示例代码展示(没有cookies):

import requestsheaders = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',}url = 'https://github.com/写自己的GitHub名称'response = requests.get(url, headers=headers)print(response.content.decode())

运行效果:

示例代码展示(有cookies):

import requestsheaders = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36','cookie': '_octooz7h3ni%2FGlaRFR3ETrDvuhKiiUgJP8jStjNLNiFfpvWQy7U10IGCY15XhHxudYu3tRlt%2Fawt4SHEaDct0LNUQ%2B%2Fi2rHiCLVsL1Y8w%2BC9HpTtd2S6gxDLzfHK5dvBPc4TB6WDn%2BaRt9ljs4lSdlT0mn--qas9T0w68J9araMi--Se2WerqwQ6PlXV5xa2W9lw%3D%3D'}url = 'https://github.com/kxxxx'response = requests.get(url, headers=headers)print(response.content.decode())

运行效果:

爬虫之requests模块在headers参数中携带cookie发送请求相关推荐

  1. 爬虫之requests模块中cookies参数的使用

    爬虫之requests模块中cookies参数的使用 上一篇文章在headers参数中携带cookie,也可以使用专门的cookies参数 cookies参数的形式:字典 cookies = {&qu ...

  2. python requests_Python爬虫之requests模块

    # requests模块 知识点: 掌握 headers参数的使用 掌握 发送带参数的请求 掌握 headers中携带cookie 掌握 cookies参数的使用 掌握 cookieJar的转换方法 ...

  3. 爬虫之requests模块发送带参数的请求

    爬虫之requests模块发送带参数的请求 我们在使用百度搜索的时候经常发现url地址中会有一个 ?,那么该问号后边的就是请求参数,又叫做查询字符串 1.1 在url携带参数 直接对含有参数的url发 ...

  4. 爬虫之requests模块超时参数timeout的使用

    爬虫之requests模块超时参数timeout的使用 在平时网上冲浪的过程中,我们经常会遇到网络波动,这个时候,一个请求等了很久可能任然没有结果. 在爬虫中,一个请求很久没有结果,就会让整个项目的效 ...

  5. 爬虫之requests模块发送post请求

    爬虫之requests模块发送post请求 思考:哪些地方我们会用到POST请求? 登录注册( 在web工程师看来POST 比 GET 更安全,url地址中不会暴露用户的账号密码等信息) 需要传输大文 ...

  6. 爬虫之requests模块发送带header的请求

    爬虫之requests模块发送带header的请求 我们先写一个获取百度首页的代码 import requestsurl = 'https://www.baidu.com'response = req ...

  7. python爬虫之requests模块2

    python网络爬虫之requests模块 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 一 获取验证码 步骤: ​ 1 注册云大码 http://www. ...

  8. Python爬虫之Requests模块巩固深入案例

    爬虫之Requests模块巩固深入案例 requests实战之网页采集器 requests实战之破解百度翻译 requests实战之豆瓣电影爬取 requests实战之肯德基餐厅位置爬取 reques ...

  9. 爬虫入门—requests模块基础之关键字搜狗搜索信息页面爬取

    爬虫入门-requests模块基础之关键字搜狗搜索信息页面爬取 Author: Labyrinthine Leo   Init_time: 2021.02.16 Key Words: Spider.r ...

最新文章

  1. 只有 DBA 才能导入由其他 DBA 导出的文件
  2. 【SSH进阶之路】Struts + Spring + Hibernate 进阶开端(一)
  3. 信用贷款常见问题应对话术
  4. 深度学习工作开展_深入开展深度工作:新经济中的两项核心能力
  5. 干货下载:可能是你见过的最全的网络爬虫总结
  6. Delphi unit单元文件结构
  7. Python多线程和多进程编程
  8. 允许远程访问MySQL的设置
  9. 视频聊天室软件的技术标准
  10. iOS:Resource Programming Guide
  11. 两个数组各个数相加或相乘变成一个矩阵求第K大
  12. 【最佳实践】如何搭建反向代理服务访问OSS资源?
  13. 关于PADS2007快捷键失效问题解决
  14. 软件项目管理的基本流程
  15. springboot集成百度云OCR,实现通用文字识别,身份证文字识别,车牌号识别等等
  16. 服务器HBA品牌、驱动和固件版本核查
  17. 【OpenCV】 实战 银行卡卡号读取
  18. 路由工作原理+DHCP+静态路由配置
  19. 华中科技大学计算机学院郑强教授简历,华中科大教授声讨后勤被处分 郑强个人简介介绍...
  20. AWS攻略——Peering连接VPC

热门文章

  1. 牛年快乐~新一年从甜蜜的烘焙里学AI
  2. 倒计时 8 天 | 完整议程大揭秘!来 20 个 AI 论坛,与百名大咖携手玩转人工智能...
  3. 限时福利:腾讯高级专家手把手教你打造 OCR 神器!
  4. 从LeNet到GoogLeNet:逐层详解,看卷积神经网络的进化
  5. Google最新论文:Youtube视频推荐如何做多目标排序
  6. 行人被遮挡问题怎么破?百度提出PGFA新方法,发布Occluded-DukeMTMC大型数据集 | ICCV 2019...
  7. 学术 | 一种新的CNN网络可以更高效地区分自然图像生成图像
  8. 又一款Markdown组合神器!!!
  9. 面试必备:一个秒杀系统的设计思考
  10. 新手入门:Kaggle NLP比赛总结