通常,爬取网站,最简单的就是静态网页,一般 python的request+beautifulsoup就可以搞定。
困难的是动态网页的爬取。
动态网页爬取一般有以下几种方法:
1. 逆向回溯(即一层层找接口,或底层链接,想稳定快速爬取,可考虑这个,相当费时费力)
2. 渲染动态网页法( 使用PySide或ghost.py,但是由于太过久远已经被时代淘汰了,所以这种方法并不优雅)
3. 模拟浏览器法(如使用Selenium等,见下)
当今常用的三个常用的浏览器驱动:
| 库 | Selenium | Puppeteer | Playwright |
|---|---|---|---|
| JavaScript 支持 | 官方支持 | 官方支持 | 官方支持 |
| Python 异步支持 | 无 | 第三方,而且 bug 不少 | 官方支持 |
| Python 同步支持 | 官方支持 | 无 | 官方支持 |
| 维护者 | 社区 | 微软 | |
| 可操作性浏览器 | Chrome/Firefox/Safari/Edge | Chrome/Firefox | Chrome/Firefox/Safari/Edge |
| 模拟操作丰富度 | 一般 | 极好 | 很好 |

本文探讨了动态网页爬取的挑战,重点介绍了Selenium、Puppeteer和Playwright这三种常用工具的比较,特别推荐Playwright作为未来趋势,因其高效和丰富的模拟操作。
最低0.47元/天 解锁文章
125

被折叠的 条评论
为什么被折叠?



