Home
Login

专为Python构建的网页抓取和浏览器自动化库,用于构建可靠的爬虫,支持提取数据用于AI、LLM、RAG或GPT应用

Apache-2.0Python 5.7kapifycrawlee-python Last Updated: 2025-06-23

Crawlee Python - 网页抓取和浏览器自动化库

项目概述

Crawlee是一个专为Python构建的网页抓取和浏览器自动化库,用于构建可靠的爬虫。可以提取数据用于AI、LLM、RAG或GPT应用,从网站下载HTML、PDF、JPG、PNG和其他文件。该项目由Apify公司开发,是其开源网页抓取库,基于BeautifulSoup和Playwright构建,采用一体化的网页抓取方法。

主要特性

核心功能

  • 多引擎支持: 与BeautifulSoup、Playwright和原生HTTP配合使用
  • 灵活模式: 支持有头和无头模式
  • 代理轮换: 内置代理轮换功能
  • 文件下载: 支持下载HTML、PDF、JPG、PNG等各种格式文件
  • AI集成优化: 专门为AI、LLM、RAG和GPT应用优化数据提取

技术优势

  • 类型提示: 现代化设计,包含Python类型提示,帮助早期发现错误
  • 稳定可靠: 由每天抓取数百万页面的专业开发者构建
  • 易于使用: 允许根据需求轻松切换不同的抓取库
  • 错误处理: 内置强大的错误处理和重试机制

技术架构

底层技术栈

# 主要依赖
- BeautifulSoup: 静态HTML解析
- Playwright: 动态JavaScript渲染页面处理  
- HTTP客户端: 原生HTTP请求支持

集成能力

  • Apify平台集成: 与Apify平台无缝集成
  • 多种抓取技术: 支持从静态HTML解析到动态JavaScript渲染的各种抓取技术

使用场景

主要应用领域

  1. AI数据收集: 为机器学习和AI应用收集训练数据
  2. RAG系统: 为检索增强生成系统提供数据源
  3. GPT应用: 为各种GPT应用提供实时数据
  4. 内容监控: 监控网站内容变化
  5. 数据分析: 收集数据用于商业分析

与竞品对比

从Python的两个主要开源选项Scrapy和Crawlee中,Apify选择了后者,认为初学者会更喜欢它,因为它允许用更少的代码和更少的阅读时间创建爬虫。

项目状态

发布信息

  • 开源许可: 完全开源免费
  • 语言支持: Python版本(同时也有Node.js版本)
  • 发布时间: Python版本发布仅几周就获得了大量关注
  • 维护状态: 活跃维护中

社区反响

  • GitHub上获得广泛关注
  • 由于JavaScript版本的成功和Python社区的需求,推出了Python版本
  • 在Hacker News等技术社区获得积极反馈

安装和快速开始

安装方式

pip install crawlee

基本使用示例

from crawlee import BeautifulSoupCrawler

# 创建爬虫实例
crawler = BeautifulSoupCrawler()

# 定义请求处理器
@crawler.router.default_handler
async def handler(context):
    # 提取数据
    data = {
        'title': context.soup.find('title').get_text(),
        'url': context.request.url
    }
    
    # 保存数据
    await context.push_data(data)

# 运行爬虫
await crawler.run(['https://example.com'])

高级功能

代理支持

# 配置代理轮换
crawler = BeautifulSoupCrawler(
    proxy_configuration={
        'proxy_urls': ['http://proxy1:8000', 'http://proxy2:8000']
    }
)

错误处理和重试

# 自动重试配置
crawler = BeautifulSoupCrawler(
    max_requests_per_crawl=1000,
    request_timeout=30,
    retry_on_blocked=True
)

总结

Crawlee Python是一个现代化、功能强大的网页抓取库,特别适合需要为AI应用收集数据的场景。它结合了多个成熟抓取技术的优势,提供了简洁的API和强大的功能,是Python开发者进行网页抓取的优秀选择。无论是简单的数据提取还是复杂的浏览器自动化任务,Crawlee都能提供可靠的解决方案。

Star History Chart