单元 1 · 爬虫基础 — 预计 35 分钟

HTTP 基础

📍 本课路径35 分钟 · 4 个目标
  1. 理解 HTTP 请求/响应模型
  2. 拆解 URL 的每个部分
  3. 认识常用方法(GET/POST)与状态码
  4. 理解请求头(User-Agent、Cookie 等)的作用
🎯 学习节奏:① 看目标 → ② 先思考再动手 → ③ 在运行器写代码 → ④ 失败时按提示重试 → ⑤ 通过后看思路

爬虫本质上是模拟浏览器发 HTTP 请求、读懂服务器返回的响应。不懂 HTTP,你只会「抄代码」,一旦网站变卦就束手无策。这一章把 HTTP 讲透。

一、请求 / 响应模型

一次抓取就是一次对话:

你(客户端)  --请求 Request-->   服务器
你(客户端)  <--响应 Response--   服务器

请求里包含:要什么(URL)、用什么动作(方法)、附带什么信息(请求头/请求体)。 响应里包含:状态码(成不成功)、响应头、以及真正的网页内容(HTML/JSON)。

二、URL 结构拆解

https://books.example.com/search?q=python&page=2#top

部分 含义
https 协议(scheme)
books.example.com 主机(host)
/search 路径(path)
?q=python&page=2 查询参数(query),& 分隔多个
#top 片段(fragment),浏览器内锚点,不会发给服务器

用 Python 标准库就能把 URL 拆开看个明白。下面需要你补全拆解逻辑:

三、常用方法与状态码

方法(你要服务器做什么):

状态码(服务器说结果):

范围 含义 爬虫怎么处理
2xx 成功(200) 正常解析
3xx 重定向(301/302) requests 默认跟随,注意最终地址
4xx 客户端错误 403 被拦、404 不存在、429 太快
5xx 服务器错误 503 维护,可重试

看到 403 别慌,通常是请求头太「裸」(没有 User-Agent),服务器当机器人拦了——下一章学 requests 时我们就解决它。

四、请求头:你给服务器的「自我介绍」

请求头是一组键值对,告诉服务器「我是谁、我要什么格式」。爬虫最关心的几个:

浏览器按 F12 → Network → 任意请求 → Headers,就能看到真实请求头,照着抄是最快的学习方式。

五、小结

本页底部「代码实战」会让你用 requests 实际发一次请求。