D4Vinci/Scrapling

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev

解決的問題

Scrapling 是一個為簡化現代網頁資料擷取而設計的適應型網頁爬蟲框架。它解決了常見的爬蟲挑戰,例如網站設計變更導致的選擇器失效、Cloudflare Turnstile 等反機器人系統,以及從單一請求擴展到大規模並行爬取的複雜性。

工作原理

該框架提供了一套適用於不同爬取需求的工具:

  • 適應型解析:解析器能夠從網站變更中學習,並在頁面結構更新時自動重新定位元素。
  • 隱蔽取得:包含可繞過反機器人保護的取得器,並支援無頭瀏覽器自動化。
  • 蜘蛛框架:提供類似 Scrapy 的 API,允許使用者定義具備非同步回呼、並行爬取和自動代理輪換的蜘蛛。
  • AutoThrottle:系統根據網站回應時間動態調整爬取速度,並在偵測到速率限制時自動退避。
  • 持久化:支援基於檢查點的暫停與恢復功能,確保長時間執行的爬取不會遺失。

適用對象

專為需要可靠、可擴展方式從網站收集資料的網頁爬蟲和開發者設計,適用於從簡單腳本到企業級爬取的各類場景。

主要亮點

  • 適應型選擇器:即使在網站設計更新後也能自動定位元素。
  • 反機器人繞過:開箱即用支援 Cloudflare Turnstile 和隱蔽取得器。
  • 可擴展爬取:支援並行、多會話爬取,並可即時串流輸出結果。
  • 開發者友善:包含開發模式,可快取回應並重播,無需重新請求伺服器即可迭代解析邏輯。
  • 專用範本:提供 Shopify 商店、網站地圖、XML/RSS 訂閱源的預設蜘蛛。

相關

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