apify/crawlee-python

Crawlee—A web scraping and browser automation library for Python to build reliable crawlers. Extract data for AI, LLMs, RAG, or GPTs. Download HTML, PDF, JPG, PNG, and other files from websites. Works with Parsel, BeautifulSoup, Playwright, and raw HTTP. Both headful and headless mode. With proxy rotation.

解決的問題

Crawlee for Python 是一個專為建立可靠、高效率爬蟲而設計的網頁抓取與瀏覽器自動化程式庫,能夠繞過現代反機器人防護機制,並以類人方式運作。它簡化了連結爬取、資料提取,以及以機器可讀格式儲存資料的流程,無需開發者處理請求管理與反機器人偵測的技術複雜性。

運作方式

Crawlee 提供 HTTP 爬取與無頭瀏覽器自動化的統一介面。它提供兩種主要爬蟲類型:

  • BeautifulSoupCrawler:一種高效的無瀏覽器爬蟲,使用 HTTP 庫與 BeautifulSoup 解析 HTML,適合靜態內容。
  • PlaywrightCrawler:基於 Playwright 的無頭瀏覽器爬蟲,適用於需要執行 JavaScript 或使用者互動的網站。

該程式庫根據系統資源管理平行爬取,支援自動重試、代理輪換,並使用持久化佇列儲存 URL,確保爬取流程在中斷後可從中斷處恢復。

適用對象

適用於需要大規模從網頁提取資料的開發者,特別是偏好現代 Python(3.10+)與非同步程式設計(Asyncio)而非傳統框架(如 Scrapy)的開發者。

主要特色

  • 統一介面:單一程式庫同時支援 HTTP 與無頭瀏覽器爬取。
  • 基於 Asyncio:基於 Python 標準非同步庫建構,實現高效率。
  • 繞過反機器人防護:預設設定協助爬蟲表現得像人類,避免被偵測到。
  • 狀態持久化:中斷時保存進度,避免從頭重新開始。
  • 整合工具:內建代理輪換、會話管理,以及可插入的儲存系統,用於表格資料與檔案。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案