爬虫-request处理get

1.概念

GET 请求是 HTTP 协议中最基础、最常用的请求方法 ,用于向服务器请求(获取)资源 (如网页、图片、API 数据等)。它的核心特点是:只获取数据,不修改服务器状态(即"只读"操作)。

复制代码
/search?q=HTTP+GET&lang=zh-CN HTTP/1.1

GET 请求的核心特性

特性 说明
安全 不应修改服务器数据(仅查询)。多次执行结果相同(幂等)。
数据暴露位置 参数通过 URL 传递 (拼接在 ? 后,如 ?name=John&age=30)。
可被缓存 浏览器/代理服务器可缓存响应结果,提升重复访问速度。
有长度限制 URL 长度受浏览器限制(通常 2KB~8KB),不适合传输大量数据。
可被书签收藏 参数在 URL 中,保存链接即保存查询状态。
历史记录可见 URL 会出现在浏览器历史记录中。

2.编码测试

没加请求头:

直接跳到禁止访问

加了请求头:

可以用这个查看请求头信息

python 复制代码
print(resp.request.headers)#可以查看到请求头信息

有些网站对设备进行检测,检测到不是正常浏览器,就不给你数据,所以要加上请求头。

3.f12字段

核心请求头字段

字段名 作用 示例值
Host 目标服务器的域名和端口 www.example.com:443
User-Agent 客户端(浏览器/操作系统)标识 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Accept 客户端支持的响应内容类型(MIME 类型) text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
Accept-Language 客户端优先语言 en-US, en;q=0.9, zh-CN;q=0.8, zh;q=0.7
Accept-Encoding 客户端支持的压缩算法 gzip, deflate, br
Connection 控制连接是否保持活跃 keep-alive(复用连接)或 close(关闭连接)
Referer 当前请求的来源页面 URL(用于防盗链/流量分析) https://www.google.com/
Cookie 客户端存储的会话信息(由服务器通过 Set-Cookie 设置) sessionId=abc123; theme=dark
Content-Type 请求体的格式(仅 POST/PUT 等含 Body 的请求) application/json application/x-www-form-urlencoded
Content-Length 请求体的大小(字节) 348
Authorization 身份凭证(如 Token/Basic 认证) Bearer eyJhbGciOi... Basic dXNlcjpwYXNz

高级/功能性请求头

字段名 作用 示例值
Cache-Control 控制缓存行为 no-cache(不直接使用缓存) max-age=3600(缓存有效期)
If-Modified-Since 条件请求:资源在指定时间后修改才返回 Tue, 15 Aug 2023 12:00:00 GMT
If-None-Match 条件请求:资源 ETag 不匹配才返回 "d5c-5b3a8e0a0f6c0"
Origin 跨域请求的来源(由浏览器自动添加) https://www.site-a.com
Sec-Fetch-* 安全元数据(浏览器自动添加) (防 CSRF/恶意请求) Sec-Fetch-Site: cross-site Sec-Fetch-Mode: cors
Upgrade-Insecure-Requests 请求将 HTTP 升级为 HTTPS 1(启用升级)
X-Requested-With 标识 AJAX 请求(非标准) XMLHttpRequest

3.多参数处理

最下面post是form data get请求是 queryString Paramefers

先写一个框架

复制下面一堆

转化成字典格式

加到params里面,相当于用参数的方式拼到url里面,但是post不会,隐藏起来了

当然也要记得用json数据输出

相关推荐
程序设计实验室16 小时前
当人人都能用 AI 写代码时,我为什么选择重回 Django?
django·djangostarter
zone773917 小时前
001:简单 RAG 入门
后端·python·面试
F_Quant17 小时前
🚀 Python打包踩坑指南:彻底解决 Nuitka --onefile 配置文件丢失与重启报错问题
python·操作系统
允许部分打工人先富起来18 小时前
在node项目中执行python脚本
前端·python·node.js
IVEN_18 小时前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
haosend19 小时前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽19 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
IVEN_2 天前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang2 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮2 天前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python