DrissionPage 是一款基于 Python 的全能型网页自动化工具,创新性地将浏览器自动化与直接 HTTP 请求两大模式融合,实现“控制浏览器 + 收发数据包”一体化操作。它既能处理需要渲染的动态页面,又能在不打开浏览器的情况下高效抓取静态资源。该工具目前已成为 Python 开发者进行网页自动化和数据采集的重要选择。官网地址:https://www.drissionpage.cn/
核心功能
DrissionPage 通过双模合一设计,兼顾了 Selenium 的强大交互能力和 requests 的高效抓取速度,核心功能包括:
- 无需 WebDriver:通过 Chrome 或其他 Chromium 内核浏览器的远程调试端口直接驱动,省去下载、匹配驱动的繁琐步骤,简化环境配置。
- 多标签页与多线程:支持同时打开多个标签页并行操作,适合大规模数据采集或复杂交互场景,提升效率。
- 统一简洁的 API:提供 ChromiumPage、SessionPage 等入口,元素定位使用 s_ele()、s_eles(),并支持超时、滚动、截图、全页保存等常用功能,语法简洁易用。
- 丰富的高级功能:包括 iframe、shadow‑root 内查找,动作链(click、double_click 等)自定义次数,等待新标签页,弹窗处理,页面滚动控制,以及通过配置文件(ini)自定义环境等。
- 跨平台兼容:支持 Windows、Linux、macOS,Python 3.6 及以上均可运行,满足不同开发环境需求。
适用场景
DrissionPage 适合多种网页自动化与数据采集场景,主要包括:
- 动态网页数据采集:需要 JavaScript 渲染的页面,如现代单页应用(SPA)、数据可视化图表等,可通过浏览器自动化实现完整渲染后再提取内容。
- 大规模爬虫任务:结合多标签页与多线程能力,能够并行处理多个任务,提高数据抓取吞吐量,适合电商价格监控、新闻采集等场景。
- 网页交互自动化:如表单填写、按钮点击、页面跳转、弹窗处理等,适合测试或批量操作。
- 混合模式抓取:对于既需要动态页面的交互、又需要快速获取静态接口数据的任务,DrissionPage 可在浏览器驱动与 HTTP 请求之间灵活切换,实现更高效的流程。
网站特点
DrissionPage 在设计和文档方面具有以下特点:
- 安装简便:推荐使用 pip 安装,命令为
pip install DrissionPage,可通过 pip install DrissionPage --upgrade 获取最新稳定版,无需复杂依赖。 - 文档完善、示例丰富:官网提供功能概览、安装指南、快速上手代码示例(如 ChromiumPage().get(‘https://www.baidu.com/’)),并配有详细的中文帮助文档,帮助用户快速入门。
- 支持的浏览器广泛:除 Chrome 外,还支持 Edge 等 Chromium 系列浏览器以及可选的 electron 应用,确保在不同环境下均能顺畅使用。
- 社区与开源:DrissionPage 为开源项目,项目地址为 https://github.com/g1879/DrissionPage,开发者可参与贡献或获取最新源码。
- 对新手友好:语法简洁、代码量少,同时保留了丰富的配置选项,既适合初学者快速上手,也满足高级用户定制需求。