在現代 AI 研究中,尤其是大型語言模型(LLM)訓練和套用中,數據的獲取與處理是一個關鍵環節。
為了幫助開發者更高效地抓取和整理網路數據, Crawl4AI 誕生了。這是一個專為 LLM 最佳化的開源網頁爬蟲工具,其便捷的使用方式與強大的功能,使得網頁數據采集變得前所未有的輕松。
Crawl4AI 是一款基於 LLM(大型語言模型)的開源網頁爬蟲工具,它的設計初衷是為開發者提供一個簡單易用、功能強大的數據抓取解決方案,特別是為了滿足 AI 研究中的數據采集需求。
透過僅需幾行程式碼,使用者便能實作高效的網頁爬取和數據提取。
核心功能
• 開源且免費 :Crawl4AI 完全開源,開發人員可以自由使用和修改,無需擔心成本問題。
• AI 驅動的自動化數據提取 :透過 LLM,Crawl4AI 能夠智慧化地辨識和解析網頁元素,自動進行數據提取,極大節省開發者的時間與精力。
• 結構化數據輸出 :支持將提取到的數據轉換為 JSON、Markdown 等結構化格式,方便後續的分析和處理,確保數據能夠無縫整合到 AI 模型訓練中。
• 多功能支持/多URL抓取 :支持捲動頁面、抓取多個 URL、提取媒體標簽(如圖片、視訊、音訊)、後設資料、外部/內部連結以及螢幕截圖等。
• 高度客製化 :支持使用者自訂認證、請求頭資訊、爬取前頁面修改、使用者代理以及 JavaScript 指令碼執行,確保爬蟲可以針對不同網頁做出靈活調整。
• 高級提取策略 :支持多種提取策略,包括基於主題、正規表式、句子的分塊策略,以及利用 LLM 或余弦聚類的高級提取策略。
如何使用?
安裝
使用 pip 安裝:
pip install crawl4ai
使用 Docker 安裝:
構建 Docker 映像並執行 :
docker build -t crawl4ai .
docker run -d -p 8000:80 crawl4ai
從 Docker Hub 直接執行 :
docker pull unclecode/crawl4ai:latest
docker run -d -p 8000:80 unclecode/crawl4ai:latest
使用
Crawl4AI 的使用非常簡單,僅需幾行程式碼就能實作強大的功能。以下是使用 Crawl4AI 進行網頁數據抓取的範例:
import asyncio
from crawl4ai import AsyncWebCrawler
asyncdefmain():
asyncwith AsyncWebCrawler(verbose=True) as crawler:
js_code = ["const loadMoreButton = Array.from(document.querySelectorAll('button')).find(button => button.textContent.includes('Load More')); loadMoreButton && loadMoreButton.click();"]
result = await crawler.arun(
url="https://www.nbcnews.com/business",
js_code=js_code,
css_selector="article.tease-card",
bypass_cache=True
)
print(result.extracted_content)
if __name__ == "__main__":
asyncio.run(main())
使用場景
Crawl4AI 適合以下場景:
• AI 研究 :需要大量網頁數據用於語言模型訓練的研究人員和開發者。
• 數據科學 :需要高效從網頁中提取數據進行分析的科學家或分析師。
• 開發者 :希望在應用程式中實作網頁數據抓取和自動化資訊采集的開發者。
總結
Crawl4AI 是一個功能強大且易用的網頁爬蟲工具,它為大型語言模型和 AI 套用量身打造,提供了豐富的功能和靈活的配置選項。
從結構化輸出到多種提取策略,Crawl4AI 為開發者在數據抓取領域帶來了極大的便利。
GitHub: https://github.com/unclecode/crawl4ai
●
●
●
●
如果本文對您有幫助,也請幫忙點個 贊👍 + 在看 哈!❤️
在看你就贊贊我!