# Network Basics

这个目录是你的第三阶段练习。

这里不再重点练“怎么控制浏览器”，而是练“怎么用浏览器开发者工具看懂页面背后的接口”。

目标是把这条链路练熟：

1. 打开页面
2. 打开 `DevTools`
3. 只看 `Network`
4. 找到真正返回数据的接口
5. 看懂请求头、响应体、分页参数
6. 尝试把请求复制出来单独重放

## 建议学习顺序

1. `01_open_devtools_check_xhr.md`
2. `02_find_aweme_list_api.md`
3. `03_read_headers_and_cookies.md`
4. `04_analyze_pagination.md`
5. `05_copy_as_curl_and_replay.md`

## 开始前先准备

建议你先准备好这几样东西：

- Chrome 或 Chromium
- 一个已经能正常打开抖音页面的环境
- 项目里的 [Douyin.py](/Users/wangshaoqing/Desktop/MiaoSi/Study/douyin-crawler-poc/Douyin.py)
- 你自己的学习笔记

## 练习原则

- 每次只分析一个页面动作
- 先手工看懂，再考虑写代码
- 不要同时盯很多请求，先锁定一个最可疑的
- 看到字段时先记层级，不要急着背名字
- 每次练完都要写出“我这次确认了什么”

## 这组练习要解决什么问题

练完之后，你应该能回答这些问题：

- 这个页面的数据是 HTML 自带的，还是接口后加载的？
- 哪个请求才是真正返回作品列表的？
- 你要的 `aweme_id`、标题、视频地址分别在哪一层？
- 翻页靠什么参数推动？
- 如果浏览器监听不到数据，你下一步该去 DevTools 看什么？

## 和当前项目怎么对照

练这组时，重点对照这些文件：

- [Douyin.py](/Users/wangshaoqing/Desktop/MiaoSi/Study/douyin-crawler-poc/Douyin.py)
- [learning/drissionpage_basics/03_listen_api.py](/Users/wangshaoqing/Desktop/MiaoSi/Study/douyin-crawler-poc/learning/drissionpage_basics/03_listen_api.py)
- [learning/drissionpage_basics/04_parse_aweme.py](/Users/wangshaoqing/Desktop/MiaoSi/Study/douyin-crawler-poc/learning/drissionpage_basics/04_parse_aweme.py)
- [learning/playwright_basics/04_listen_response.py](/Users/wangshaoqing/Desktop/MiaoSi/Study/douyin-crawler-poc/learning/playwright_basics/04_listen_response.py)

你会慢慢发现，浏览器自动化只是“拿数据”的一种方式，真正的关键是你能不能识别出正确的接口。
