D4Vinci/Scrapling

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

解決的問題

Scrapling 解決了網頁爬蟲的脆弱性與複雜性。它解決了網站設計變更導致爬蟲失效的問題,克服了繞過現代反機器人系統(如 Cloudflare Turnstile)的困難,並降低了從單一請求擴展到大規模並行爬取的開銷。

工作原理

Scrapling 提供了一個綜合工具包,整合了取得、解析與爬取功能:

  • 自適應解析:使用相似性演算法在網站結構更新時自動追蹤與重新定位元素,減少手動更新選擇器的需求。
  • 隱蔽取得:包含專用取得器(StealthyFetcherDynamicFetcher),可偽造瀏覽器指紋、模擬 TLS、處理瀏覽器自動化,以繞過機器人檢測。
  • 蜘蛛框架:提供類似 Scrapy 的 API,允許使用者定義支援非同步回呼、並行請求数限制與自動代理輪換的蜘蛛。
  • AutoThrottle:系統根據伺服器回應時間動態調整爬取速度,並在偵測到限流時自動退避。
  • 會話管理:跨請求管理 Cookie 與狀態,並支援 DNS-over-HTTPS 以防止洩漏。

適用對象

專為需要大規模從現代動態網站收集資料,同時最小化維護成本並避免被封鎖的網頁爬蟲與資料工程師設計。

主要亮點

  • 自適應爬取:即使網站設計變更,也能自動定位元素。
  • 反機器人繞過:內建功能可處理 Cloudflare Turnstile 等機器人防護機制。
  • 全規模爬取:支援並行爬取、暫停/恢復檢查點,以及即時結果串流輸出。
  • 靈活取得:支援標準 HTTP、無頭瀏覽器(Playwright/Chrome),以及透過 CDP 連接遠端瀏覽器。
  • API 捕獲:可捕獲背景 XHR/fetch 回應,無需逆向工程 API 即可提取資料。
  • 預設模板:包含針對網站地圖、XML/CSV 餵料與 Shopify 商店的專用蜘蛛。

相關

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