- 新增 DrissionPage 基础教程(01-05) - 新增 Playwright 基础教程(01-05) - 新增网络基础教程(01-05) - 新增 test_learning_examples.py 单元测试 - 更新 .gitignore 忽略 learning/*/output/ 目录
61 lines
2.2 KiB
Markdown
61 lines
2.2 KiB
Markdown
# 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)
|
|
|
|
你会慢慢发现,浏览器自动化只是“拿数据”的一种方式,真正的关键是你能不能识别出正确的接口。
|