『python爬虫』04. 爬虫需要知道的HTTP协议知识(保姆级图文)

news2025/5/10 9:05:40

目录

    • 1. HTTP协议是什么?
    • 2. HTTP协议结构
    • 3. 爬⾍需要的请求头和响应头内容
    • 总结


欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中

1. HTTP协议是什么?

HTTP协议, Hyper Text Transfer Protocol(超⽂本传输协议)的缩写,是⽤于从万维⽹(WWW:World Wide Web )服务器传输超⽂本到本地浏览器的传送协议.。

浏览器和服务器之间的数据交互遵守HTTP协议。.


2. HTTP协议结构

HTTP协议把⼀条消息分为三⼤块内容. ⽆论是请求还是响应都是三块内容:

  • 请求
  1. 请求⾏ -> 请求⽅式(get/post) 请求url地址 协议
  2. 请求头 -> 放⼀些服务器要使⽤的附加信息
  3. 请求体 -> ⼀般放⼀些请求参数
  • 响应
  1. 状态⾏ -> 协议 状态码(常用来判断我们爬虫是否成功,反应爬虫失败的原因)
  2. 响应头 -> 放⼀些客户端要使⽤的⼀些附加信息
  3. 响应体 -> 服务器返回的真正客户端要⽤的内容(HTML,json)等

写爬⾍的时候要格外注意请求头和响应头,这里面通常会含有被服务器识别到的访问网页的浏览器信息,访问时间等等重要的信息。
在这里插入图片描述


3. 爬⾍需要的请求头和响应头内容

请求头核心内容:

  1. User-Agent : 请求载体的身份标识(⽤啥发送的请求)
  2. Referer: 防盗链(这次请求是从哪个⻚⾯来的? 反爬会⽤到)
  3. cookie: 本地字符串数据信息(⽤户登录信息, 反爬的token)
    响应头核心内容:
  4. cookie: 本地字符串数据信息(⽤户登录信息, 反爬的token)
  5. 各种神奇的莫名其妙的字符串(这个需要经验了, ⼀般都是token
    字样, 防⽌各种攻击和反爬

总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2023 mzh

Crated:2023-3-1

欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中
『未完待续』


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/473940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023独立站能不能做FP?看完这篇你就懂了

现在已经快2023年中了,2023年已经过去了1/3,但还是有人在问特货产品能不能做独立站,还是有不少人在观望。心动不如行动啊朋友们!要是想在跨境独立站做出一番事业来,建议现在立马行动起来,趁早在FP独立站领域…

工厂能耗管理系统linux嵌入式边缘网关

随着工业智能化进程的不断推进,能源能耗管理已成为企业经营中一个重要的环节。而在能源能耗管理场景下,边缘计算机发挥了越来越重要的角色。本文将介绍边缘计算机的功能特点、能源能耗使用对接的设备以及应用前景市场容量,并探讨ARM边缘计算机…

Java使用 Scanner连续输入int, String 异常错误输出原因分析

目录 一、Scanner常用语法 1、sc.nextInt()介绍 2、sc.next()介绍 3、sc.nextLine()介绍 4、sc.hasNext()介绍 二、报错案例 1、使用next()来接收带有空格的字符串会输出异常 2、先输入数字再输入字符串的输出异常 一、Scanner常用语法 Scanner sc new Scanner(System.…

STM32物联网实战开发(2)——回调函数

在第一篇博客中提到了全新的程序框架,我们会大量的使用回调函数,其中包括枚举类型、结构体、函数指针的应用。 回调函数:就是一个通过函数指针调用的函数。如果你把函数的地址传递给中间函数的形参,中间函数通过函数指针调用其所…

【VM服务管家】VM4.0软件使用_1.3全局模块类

目录 1.3.1 通讯管理:通讯管理的心跳管理功能的使用方法1.3.2 全局触发:使用全局触发功能执行流程的方法1.3.3 全局变量:全局变量关联流程中具体模块结果的方法1.3.4 全局脚本:方案加载完成信号发给通信设备的方法1.3.5 全局脚本&…

我做了个GPT3键盘,用了两个月发现它有点傻

自 ChatGPT 出世,各类文本类AI产品层出不穷。甚至接连几日,Producthunt 上新品过半都是AI相关。 这其中部分原因是 OpenAI 公司开放的 GPT3 1API 接口十分易用。只要一个简单的文本请求,就能将现有产品加入AI功能。例如,Notion、…

Docker在Windows系统中的安装方法和使用方法

Docker在Windows系统中的安装方法和使用方法 Docker是一种容器化技术,可以让开发者将应用程序和其依赖项打包成一个可移植的容器,从而实现快速部署和运行。在Windows系统中,Docker可以通过以下步骤进行安装和使用。 优点: Dock…

【VM服务管家】VM4.x算子SDK开发_3.3 模块工具类

目录 3.3.1 位置修正:位置修正算子工具的使用方法3.3.2 模板保存:实现模板自动加载的方法3.3.3 模板匹配: 获取模板匹配框和轮廓点的方法3.3.4 模板训练:模板训练执行完成的判断方法3.3.5 图像相减:算子SDK开发图像相减…

浅谈软件质量与度量

本文从研发角度探讨下高质量软件应具备哪些特点,以及如何度量软件质量。 软件质量的分类 软件质量通常可以分为:内部质量和外部质量。 内部质量 内部质量是指软件的结构和代码质量,以及其是否适合维护、扩展和重构。它关注的是软件本身的…

数据结构 | 常见的数据结构是怎样的?

本文简单总结数据结构的概念及常见的数据结构种类 1’ 2。 更新:2023 / 04 / 05 数据结构 | 常见的数据结构是怎样的? 总览概念分类 常用的数据结构数组链表跳表栈队列树二叉树完全二叉树、满二叉树 平衡二叉树单旋转左旋右旋 红黑树红黑树 V.S 平衡二叉…

2 天:我用文字 AI-ChatGPT 写了绘画 AI-Stable Diffusion 跨平台绘画应用

文本 AI - ChatGPT 和绘画 AI - Stable Diffusion,平地惊雷,突然进入寻常百姓家。 如果时间可以快进,未来的人们对于我们这段时光的历史评价,大概会说: 当时的人们在短时间连续经历了这几种情感。从不信,…

java多线程BlockingDeque的三种线程安全正确退出方法

本文介绍两种BlockingDeque在多线程任务处理时正确结束的方法 一般最开始简单的多线程处理任务过程 把总任务放入BlockingDeque创建多个线程,每个线程内逻辑时,判断BlockingDeque任务是否处理完,处理完退出,还有任务就BlockingDe…

对顶堆模板!!【DS对顶堆】ABC281 E - Least Elements

我想的思路和正解是差不多的 就是滑动窗口,每过去一个用DS维护一下前k个元素和sum 本来想的是用优先队列维护前k个 然后想着multiset维护前k个,但是具体不知道怎么操作 这里用的是multiset维护对顶堆 关于对顶堆,我在寒假的时候总结过 …

【Java笔试强训】(1)

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🦾🦾🦾 目录 一、选择题 二、编程题 🔥组队竞…

Github创建一个新仓库,关联本地数据并上传文件的图文步骤

工作中,我们经常会使用github来承享别人的代码果实,同时我们也会把自己的成果分享给别人,互相帮助。 今天的这篇图文教程非常重要,目标是使用Github来创建一个远程仓库,并和本地仓库对接,同时要做上传新内容…

初始Vue3【Vue3】

1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址:https://github.com/vuejs/vue-next/releases/tag/v3.0.0 …

使用docker容器化部署mysql8.0.27,并更改其默认端口3306为3306全流程记录。

使用docker容器化部署mysql8.0.27,并更改其默认端口3306为3306全流程记录。 1.创建镜像 #查看镜像 docker images|grep mysql #搜索镜像 docker search mysql #拉取镜像 docker pull mysql:latest #运行镜像,--name 后的参数自己命名,我的数…

js逆向之rpc远程调用(你强任你强,我无视一切)

一、找到加密函数位置 二、在其下面注入ws服务 (1)注入准备 资源>>替换>>随便选一个空文件夹 (2)进行注入 进行(1)操作后可直接编辑js代码了,做以下修改 (function() {var ws new WebSocket(…

ChatGPT实现代码生成

代码生成 就代码生成而言,ChatGPT 是一款卓越的工具,它为开发者提供强大的功能。ChatGPT 可以运用其出色的自然语言处理技术,深入理解和解释开发者的需求,快速生成适合的代码片段。对于那些繁琐的任务或者重复的代码,…

肝一肝设计模式【三】-- 原型模式

系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 文章目录 系列文章目录前言一、什么是原型模式二、浅克隆三、深克隆写在最后 前言 前文中我们知道设计模式可以分为三大类:创建型模式、结构型模式、行为型模式。创…