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