这个项目能做什么
Crawlee 是一个全面的 Python 网页抓取和浏览器自动化库,旨在帮助开发者快速构建可靠的爬虫。它提供了从 URL 发现到数据提取与存储的端到端爬取和抓取解决方案。
主要功能包括:
- 为基于 HTTP 和无头浏览器的抓取提供统一接口
- 根据系统资源自动进行并行抓取
- 提供类型提示,改善开发者体验并减少错误
- 在出错或被拦截时自动重试
- 代理轮换和会话管理
- 可配置的请求路由,将 URL 定向到相应的处理器
- 用于抓取的持久化 URL 队列
- 可插拔的表格数据和文件存储
- 健壮的错误处理
Crawlee 提供两种主要的爬虫类型:
- **BeautifulSoupCrawler**:使用 HTTP 库和 BeautifulSoup 进行 HTML 解析,非常适合在无需执行 JavaScript 的情况下高效提取数据
- **PlaywrightCrawler**:通过 Playwright 使用无头浏览器,适用于需要交互的 JavaScript 密集型网站
它支持多种解析库,包括 Parsel、BeautifulSoup 和原始 HTTP,并且可以下载 HTML、PDF、JPG、PNG 等文件。该库支持有头和无头两种模式。
与 Scrapy 相比,Crawlee 基于 asyncio,具有完整的类型提示,集成更简单(普通 Python 脚本),中断期间可保持状态持久化,并提供有组织的数据存储(数据集和键值存储)。
通过 pip 即可轻松安装,并带有可选扩展以支持额外功能。还提供 CLI 工具,可通过模板快速搭建项目。Crawlee 由 Apify 开发,可部署在 Apify 平台上进行云执行。
文档、指南和示例可在 Crawlee 项目网站上获取,同时也有 TypeScript 实现可供 JavaScript/TypeScript 项目使用。
评论
0 评分人数达到10人后显示
登录后参与讨论。