Crawl4AI:AI驅動的網頁抓取神器,結合LLM實現自動化數據提取與處理 精華
我們將介紹 Crawl4AI 以及如何利用它來從不同網站或互聯網上的其他任何地方爬取和抓取數據,只要該網站支持抓取或爬取功能。
當我們與 ChatGPT 一起工作,構建可以連接互聯網外部數據源的 Rag 系統(tǒng)時,爬取和抓取數據就變得非常重要,因為你需要抓取并獲取外部數據、實時數據或現實世界的數據,我們通常在這一過程中遇到困難。
我將介紹一個名為 Crawl4AI 的開源工具,這是一個 GitHub 上的開源項目,任何人都可以使用,只需幾行代碼,你就可以完成數據提取,隨后你可以構建問答系統(tǒng)、信息發(fā)現工具或聊天機器人應用程序。
讓我們跳轉到實際操作中,看看如何做到這一點。這是他們的 GitHub 倉庫頁面,你可以看到這是一個開源的 LLM 友好型網頁爬蟲和抓取工具。
他的一個優(yōu)點是,當你提取數據后,它會將數據返回為 Markdown 格式。在我看來,當你處理 LLM 時,Markdown 格式是最好的格式。
這就是為什么 LlamaIndex 也采用這種方式進行數據提取,他們有一個選項可以選擇文本或 Markdown 格式。當你選擇 Markdown 時,你會得到從不同文件格式中提取的數據存儲為 Markdown 文件格式。
我認為 LLM 非常適應 Markdown 格式,這也是他們返回數據為 Markdown 格式的原因,這真的很棒。
現在我已經安裝了 Crawl4AI,從他們的源代碼安裝的,沒有使用 pip 安裝,但你可以這樣做,你也可以通過 Docker 進行設置。
完成安裝后,下一步當然是導入這個庫:`from crawl4ai import WebCrawler`。
接下來我們將創(chuàng)建一個 web_crawler 的實例。我創(chuàng)建了一個變量名為 `crawler`,并初始化它。你可以看到,我初始化了它,它顯示“正在初始化本地 selenium 爬蟲策略”。
這是什么意思呢?這其實是一個基于已有工具的包裝器,當然,所有開發(fā)者的功勞都歸功于他們,因為他們讓我們的任務變得更簡單了。
你不再需要關注編寫或使用 Selenium 或其他類似的 GUI 工具來抓取數據,所有的這些都已經為你處理好了。你只需要使用這個庫,傳入你的鏈接,然后得到提取的數據,就這么簡單。
現在我們已經有了 crawler,接下來你需要使用 `warm_up` 來加載必要的模型。所以我們來 `crawler.warm_up`。你可以運行這個命令,它會預熱 web_crawler 并設置一些日志等信息。
現在 web_crawler 已準備好進行爬取了。運行這個步驟后,你已經準備好在一個 URL 上運行爬蟲了。
我們來試一下這個功能,運行爬蟲并傳入一個 URL。比如,這個網站的一篇文章:
提取完成后,你可以使用 `result.markdown` 來顯示提取結果,
這里列出了所有這篇文章的信息,(我放到Gemini中翻譯了)
你可以將這些數據保存為 Markdown 格式,甚至基于這些數據構建聊天機器人。
你還可以將這個工具與 OpenAI 或其他 LLM 結合使用,從而以結構化的方式獲取數據。
總的來說,Crawl4AI 是一個非常實用的工具,特別是在你需要構建外部數據連接工具或收集動態(tài)數據時。這樣的工具通??梢院蚅angchain、CrewAI這些Agent框架配合使用,或者說充當其中的 Tools。
你也可以設置任務來定時抓取數據,并將其與 LLM 或其他結構化數據處理工具結合使用。
本文轉載自 ??AI進修生??,作者: Aitrainee
