用 Python 加 Playwright 抓 JS 重站点的完整流程
来源:dev.to — 2026-10-31
📋 概述
你 requests.get() 一把,BeautifulSoup 一解析,发现页面上只有一个空的 div#root——因为 React、Vue、Angular 这类客户端渲染的站点,初始 HTML 只是个壳,真正的内容要等 JavaScript 拉 JSON、建 DOM 再注入。快速验证的方法也写在文里:在 DevTools 里看「查看源代码」而不是「检查」,搜屏幕上能看到的文字;如果搜不到,就说明是 JS 渲染。Playwright 的解法是驱动真实浏览器引擎,跑完页面脚本、等内容出现,再像用户看到的那样抽取。指南覆盖了完整工作流:安装与浏览器下载、等待策略、无限滚动、拦截 API 调用、性能调优,以及怎样让抓取脚本可靠到可以无人值守运行。
🔑 核心要点
- 客户端渲染站点的初始 HTML 只是壳:内容由 JavaScript 拉取 JSON 后注入,静态解析拿不到。
- 判断办法是「查看源代码」里搜页面可见文字:搜不到就说明必须用浏览器或直接调底层 API。
- Playwright 驱动真实浏览器引擎:执行脚本、等待内容就绪,再按用户所见抽取。
- 指南覆盖等待策略与无限滚动:还包括拦截 API 调用和无人值守运行时的稳定性。
💡 金句
Playwright solves this by driving a real browser engine.
译:Playwright 的解法是驱动一个真实的浏览器引擎。
👍 0
👎 0
← 返回 dev.to 首页