Python爬虫基础--HTTP请求

本文介绍了HTTP请求的基础知识,包括请求的四部分(URL、请求方法、请求头、请求体)以及常见的HTTP响应状态码和响应头。通过学习,能够理解GET和POST方法的区别,以及如何在Python中构建HTTP请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期在用python编写http请求的代码,先学习一下基础知识--http请求,写篇博客保存记录一下。

网络爬虫的第一步就是爬取网页(获取源代码),爬取网页要向web服务器发送请求构造的http请求,获得所需数据的http响应。

HTTP的基本原理

在浏览器中输入URL,按回车键或点击搜索按钮,这是浏览器向Web服务器发送一个HTTP请求,Web服务器接收到这个请求后进行解析和处理,然后返回给浏览器对应的HTTP响应,之后浏览器对HTTP响应进行解析,显示网页内容。

打开Google浏览器,按Ctrl+Shift+I,打开开发者工具,选择“网络”。在搜索框中输入https://www.baidu.com,回车后查看记录表。

进入百度网页,选择点击记录www.baidu.com选项,然后选择右侧的请求头。请求头显示对的是HTTP请求和响应的详细信息。

 HTTP请求分为以下四部分内容:

1请求的网站(Request URL)

URL可以唯一确定请求资源。例如:https://www.baidu.com/

2请求方法

 请求方法:HEAD、PUT、DELETE、CONNECT、OPTIONS、TRACE、GET、POST等,其中GET和POST最常用。
GET方法:请求指定的网页信息,并返回网页内容,提交的数据最多只有1024字节。

 POST方法:向指定资源提交数据并进行请求处理(提交表单、上传文件),数据包含在请求体,提交没有字节限制。

3请求头Request Headers

以下是常见请求头和说明
Accept::指定客户端可识别的内容类型;
Accept-Encoding:指定客户端可识别的内容编码;
Accept-Language:指定客户端可识别的语言类型;
Cookie:网站为识别用户身份进行会话跟踪而存储在用户的本地的数据,主要功能是维持当前访问会话;
Host:指定请求的服务器的域名和端口号;
User-Agent:使用服务器识别客户端使用的操作系统及版本、浏览器及版本等信息,实现爬虫时加上此信息,可以伪装为浏览器;
Content-Type:请求的媒体类型信息;
Content-Length:请求的内容长度;
Referer:包含一个URL,用户以该URL代表的页面出发访问当前页面。

Content-Type和Post的关系:
application/x-www-form-urlencoded:表单数据
multipart/form-data:表单文件
application/json:序列化JSON数据
text/xml:XML数据

4请求体

GET的请求体为空,POST的请求体为表单数据

5HTTP响应

响应状态码
分为三部分内容:
第一个:Response Status Code (响应状态码):服务器的响应状态
以下是常见的响应状态码 、对应的英文名称和说明
100 Continue 服务器已收到请求的一部分,正在等待其余部分,应继续提出请求;
200 OK 服务器已成功处理了请求;
302 Move Temporarily 服务器要求客户端重新发送一个请求;
304 Not Modified 此请求返回的网页未修改,继续使用上次的资源;
404 Not Found 服务器请求不到的网页;
500 Internal Server Error 服务器遇到错误,无法完成请求。
响应头

以下是常见的响应头及其说明
Content-Encoding:Web服务器支持的编码类型;
Content-Language:响应体的语言;
Content-Length:响应体的长度;
Content-Type:返回内容的媒体类型;
Date:原始服务器消息发出的时间;
Expires:响应过期的日期和时间;
Last-Modified:请求资源的最后修改时间;
Set-Cookie:设置HTTPCookie;
Location:重定向接收到请求的URL位置。

了解了http基础知识,我们在后面用python请求http时就比较清楚了。每周学习一点知识,记录总结归纳。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值