M3 数据获取与处理

MODULE 3 · L12–L15 数据获取与处理
4 课时

课时安排

L12HTTP 与 Web 基础
请求/响应模型、HTTP 方法(GET/POST)、状态码(200/404/500)、请求头响应头;JSON 数据格式;F12 Network 面板实测——浏览器怎么拿到数据的,这是爬虫和 API 调用的共同基础。
V022 · HTTP请求与响应模型V023 · JSON格式与F12面板
L13API 调用与数据获取实战作业②发布
requests 库、RESTful API、JSON 响应处理、错误处理(超时/限流/认证)。课堂调用 3 个公开 API(天气/新闻/电影),提取字段、格式化输出。
V024 · requests库与API调用实战
L14网页爬取精要
HTML 结构、BeautifulSoup + CSS 选择器、静态页爬取全流程;爬虫伦理与 robots.txt;动态页面与数据接口概念(细节交 AI 辅助)。旧课 6 节爬虫压缩为 1 节精要课。
V025 · BeautifulSoup与CSS选择器V026 · 爬虫伦理与robots.txt
L15数据处理与可视化
Pandas(Series/DataFrame、read_csv、筛选统计、groupby)、Matplotlib 基础图表。用 L13/L14 获取的数据走完「原始数据 → 清洗统计 → 可视化结论」全链路。
V027 · Pandas数据处理速通V028 · Matplotlib可视化基础

HTTP 全景:一次请求的完整过程

L12 开课先建立这个模型,此后 F12 面板里看到的每个字段都能对应到模型中的概念:

F12 · Network 面板(GET https://api.weather.cn/v1/now?city=beijing)
── 请求(浏览器 → 服务器)──────────────────── GET /v1/now?city=beijing HTTP/1.1 Host: api.weather.cn User-Agent: Mozilla/5.0 ... ← 你是谁(爬虫要伪装的就是它) Accept: application/json ── 响应(服务器 → 浏览器)──────────────────── HTTP/1.1 200 OK ← 200 成功 / 404 未找到 / 500 服务器内部错误 / 429 被限流 Content-Type: application/json {"city": "北京", "temp": "26℃", "aqi": 42} ← JSON:字典的模样

爬虫与 API 调用本质是同一件事:模仿浏览器发请求、解析响应。区别只在——API 直接给数据,网页需要你从 HTML 里「挑」数据。

L15 全链路迷你版(浏览器可运行)

requests / pandas 依赖本地环境,但「拿到 JSON → 清洗统计 → 输出结论」的思路可以先在这里跑通。 这段代码模拟了 L15 课堂对「电影评分数据」的处理流程:

爬虫礼仪三问(L14)

能不能爬?robots.txt

先访问 域名/robots.txt 看站长是否允许;Disallow 的路径不要碰。法律上还要尊重网站条款与个人信息保护法。

该不该爬?频率与压力

加 time.sleep()、避开高峰;你的每一次请求都是别人的服务器成本。课堂上演示过请求过快被封禁 IP 的真实案例。

用来干什么?用途边界

学习研究可以;商用、转卖、爬隐私数据不行。数据的使用比获取更需要注意边界。

随堂小测