爬虫-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数据输出

相关推荐
guidovans9 分钟前
Crawl4AI精准提取结构化数据
人工智能·python·tensorflow
言之。1 小时前
Django REST Framework响应类Response详解
后端·python·django
电商API_180079052471 小时前
淘宝商品视频批量自动化获取的常见渠道分享
java·爬虫·自动化·网络爬虫·音视频
Abadbeginning1 小时前
FastSoyAdmin centos7云服务器+宝塔部署
vue.js·后端·python
kida_yuan1 小时前
【从零开始】13. 数据增强(Data Augmentation)
数据结构·python·nlp
封奚泽优2 小时前
班级互动小程序(Python)
python·deepseek
MediaTea2 小时前
Python:math 库函数手册(双曲函数)
开发语言·python
枫叶V2 小时前
用 FastAPI 实现大文件分片上传与断点续传(含可运行示例与客户端脚本,仅供参考)
python·fastapi
神仙别闹2 小时前
基于 Python + redis + flask 的在线聊天室
redis·python·flask