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

相关推荐
Ndmzi13 小时前
Matlab编程技巧:自定义Simulink菜单(理解补充)
前端·javascript·python
dagouaofei14 小时前
AI生成个性化年终总结PPT
人工智能·python·powerpoint
white-persist15 小时前
VSCode 快捷键大全:从设计理念到场景化高效运用(详细解析)(文章末尾有vim快捷键大全)
linux·ide·vscode·python·编辑器·系统安全·vim
liliangcsdn15 小时前
python threading异步并发调用示例
python
计算机毕设匠心工作室15 小时前
【python大数据毕设实战】全面皮肤病症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学
后端·python·mysql
码界奇点15 小时前
基于Python与Pygame的多功能游戏系统设计与实现
python·游戏·毕业设计·pygame·源代码管理
万邦科技Lafite16 小时前
一键获取淘宝店铺所有商品信息,实时监控商品数据
开发语言·数据库·python·api·开放api·电商开放平台·淘宝开放平台
小糖学代码16 小时前
LLM系列:1.python入门:2.数值型对象
人工智能·python·ai
非鱼feiyu16 小时前
自关联数据表查询优化实践:以 Django + 递归 CTE 构建树结构为例
数据库·后端·django
零日失眠者16 小时前
这5个Python库一旦掌握就离不开
后端·python