在现代Web开发中,JavaScript已成为前端渲染的主力军。许多网页的数据并不是直接嵌入HTML中,而是通过JavaScript在页面加载后从后台接口异步请求(AJAX),或通过React/Vue等框架组件动态渲染。这类页面我们称之为动态网页。
例如你访问京东、微博或知乎,页面初始HTML结构非常简洁,而内容是通过前端JS逻辑调用接口加载进来的。这就意味着传统requests + BeautifulSoup
的爬虫方式已经无法满足需求。
方案 | 技术栈 | 优点 | 缺点 |
---|---|---|---|
1. 浏览器自动化模拟 | Selenium / Playwright / Puppeteer | 通用、真实渲染 | 速度慢、资源消耗大 |
2. 异步HTTP接口抓取 | httpx / aiohttp + 接口逆向 | 快速、高效 | 需要逆向分析 |
3. WebSocket拦截 | mitmproxy + WebSocket解析 | 获 |