為您的人工智慧應用程式提供來自任何網站的乾淨數據。具有先進的抓取、爬行和資料提取功能。
該儲存庫正在開發中,我們仍在將自訂模組整合到單聲道儲存庫中。它尚未完全準備好自託管部署,但您可以在本地運行它。
Firecrawl 是一項 API 服務,它會取得 URL、對其進行爬網並將其轉換為乾淨的 Markdown 或結構化資料。我們會抓取所有可存取的子頁面,並為每個頁面提供乾淨的資料。無需網站地圖。查看我們的文件。
太平洋標準時間。嘿,你,加入我們的觀星者吧:)
我們透過託管版本提供易於使用的 API。您可以在這裡找到遊樂場和文件。如果您願意,您也可以自行託管後端。
查看以下資源以開始使用:
API :文檔
SDK :Python、Node、Go、Rust
LLM 框架:Langchain (python)、Langchain (js)、Llama Index、Crew.ai、Composio、PraisonAI、Superinterface、Vectorize
低程式碼框架:Dify、Langflow、Flowise AI、Cargo、Pipedream
其他:Zapier、Pabbly Connect
想要 SDK 或整合嗎?透過開啟問題讓我們知道。
要在本地運行,請參閱此處的指南。
要使用 API,您需要在 Firecrawl 上註冊並取得 API 金鑰。
Scrape :抓取 URL 並以 LLM 就緒格式取得其內容(markdown、透過 LLM Extract 的結構化資料、螢幕截圖、html)
抓取:抓取網頁的所有 URL 並以 LLM 就緒格式傳回內容
地圖:輸入網站並取得所有網站網址 - 速度極快
LLM 就緒格式:markdown、結構化資料、螢幕截圖、HTML、連結、元數據
困難:代理、反機器人機制、動態內容(js 渲染)、輸出解析、編排
可自訂性:排除標籤,使用自訂標頭在身份驗證牆後爬行,最大爬行深度等...
媒體解析:pdf、docx、圖像。
可靠性第一:旨在獲取您需要的數據 - 無論有多困難。
操作:在提取資料之前點擊、滾動、輸入、等待等
批次(新) :使用新的非同步端點同時抓取數千個 URL
您可以在我們的文件中找到 Firecrawl 的所有功能以及如何使用它們
用於抓取 URL 和所有可存取的子頁面。這將提交爬網作業並傳回作業 ID 以檢查爬網的狀態。
捲曲-X POST https://api.firecrawl.dev/v1/crawl -H '內容類型:application/json' -H '授權:承載 fc-YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "limit": 100, "scrapeOptions": { "formats": ["markdown", "html"] } }'
傳回爬網作業 ID 和用於檢查爬網狀態的 url。
{“成功”:true,“id”:“123-456-789”,“url”:“https://api.firecrawl.dev/v1/crawl/123-456-789”}
用於檢查爬網作業的狀態並取得其結果。
捲曲-X GET https://api.firecrawl.dev/v1/crawl/123-456-789 -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY'
{“狀態”:“已完成”,“總計”:36,“已使用的積分”:36,“expiresAt”:“2024-00-00T00:00:00.000Z”,“數據”:[ { "markdown": "[Firecrawl 文件首頁![淺色標誌](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!...", " html": ".. .", "metadata": {"title": "使用Groq Llama 3 建構「與網站聊天」| Firecrawl","language": "en","sourceURL": "https://docs.firecrawl.dev / learn/rag-llama3","description": "了解如何使用Firecrawl、Groq Llama 3 和Langchain 建立「與您的網站聊天」機器人。 } ] }
用於抓取 URL 並取得指定格式的內容。
捲曲-X POST https://api.firecrawl.dev/v1/scrape -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "formats" : ["markdown", "html"] }'
回覆:
{ "success": true, "data": {"markdown": "第一周發布了![查看我們的第2 天發布](https://www.firecrawl.dev/blog/launch-week-i -day -2-doubled-rate-limits)[? 免費使用2 個月...","html": "地圖(阿爾法)
用於映射 URL 並獲取網站的 url。這將返回網站上存在的大多數連結。
捲曲-X POST https://api.firecrawl.dev/v1/map -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY' -d '{ "url": "https://firecrawl.dev" }'回覆:
{“狀態”:“成功”,“連結”:[“https://firecrawl.dev”,“https://www.firecrawl.dev/pricing”,“https://www.firecrawl.dev/blog 」 ","https://www.firecrawl.dev/playground","https://www.firecrawl.dev/smart-crawl", ] }帶有搜尋功能的地圖
帶有
search
參數的地圖可讓您搜尋網站內的特定網址。捲曲-X POST https://api.firecrawl.dev/v1/map -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY' -d '{ "url": "https://firecrawl.dev", "search": "docs" }'回應將是從最相關到最不相關的有序列表。
{“狀態”:“成功”,“連結”:[“https://docs.firecrawl.dev”,“https://docs.firecrawl.dev/sdks/python”,“https://docs.firecrawl ” .dev/learn/rag-llama3", ] }法學碩士提取(測試版)
用於從抓取的頁面中提取結構化資料。
捲曲-X POST https://api.firecrawl.dev/v1/scrape -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY' -d '{“url”:“https://www.mendable.ai/”,“格式”:[“提取”],“提取”:{“模式”:{“類型”:“物件”,“屬性": { "company_mission": { "type": "string" }, "supports_sso": { "type": "boolean" }, "is_open_source": { "type": "boolean" }, "is_in_yc": { "type": "boolean" } }, "required": [ "company_mission", "supports_sso", "is_open_source", "is_in_yc" ] } } }'{ "success": true, "data": {"content": "原始內容","metadata": { "title": "Mendable", "description": "Mendable 讓您可以輕鬆建立 AI 聊天應用程式。 ,自訂,然後用一行程式碼部署到您想要的任何地方。 。 png", "ogLocaleAlternate": [], "ogSiteName": "Mendable", "sourceURL": "https://mendable.ai/"},"llm_extraction": { "company_mission": "在您的技術資源上訓練安全的人工智慧,回答客戶和員工的問題,這樣您的團隊就不必這樣做", "supports_sso": true, "is_open_source": false, "is_in_yc": true} } }不使用模式進行提取(新)
現在,您只需將
prompt
傳遞到端點即可在沒有架構的情況下進行提取。 llm 選擇資料的結構。捲曲-X POST https://api.firecrawl.dev/v1/scrape -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev/", "formats": ["extract"], "extract": { "prompt": "從頁面中提取公司使命。" } }'使用操作與頁面互動(僅限雲端)
Firecrawl 讓您在抓取網頁內容之前在網頁上執行各種操作。這對於與動態內容互動、瀏覽頁面或存取需要使用者互動的內容特別有用。
以下是如何使用操作導航到 google.com、搜尋 Firecrawl、點擊第一個結果並截取螢幕截圖的範例。
捲曲-X POST https://api.firecrawl.dev/v1/scrape -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY' -d '{ "url": "google.com", "formats": ["markdown"], "actions": [ {"type": "wait", "milliseconds": 2000}, {"type": "click", "selector": "textarea[title="Search"]"}, {"type": "wait", "milliseconds": 2000}, {"type": "write", "text": " firecrawl"}, {"type": "等待", "毫秒": 2000}, {"type": "按", "key": "ENTER"}, {"type": "等待", "毫秒" : 3000}, {"type": "click", "selector": "h3"}, {"type": "wait", "milliseconds": 3000}, {"type": "screenshot"} ] }'批次抓取多個 URL(新)
現在您可以同時批次抓取多個 URL。它與 /crawl 端點的工作方式非常相似。它提交批次抓取作業並傳回作業 ID 以檢查批次抓取的狀態。
捲曲-X POST https://api.firecrawl.dev/v1/batch/scrape -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY' -d '{“urls”:[“https://docs.firecrawl.dev”,“https://docs.firecrawl.dev/sdks/overview”],“格式”:[“markdown”,“html” ] }'搜尋 (v0)(測試版)
用於搜尋網絡,獲取最相關的結果,抓取每個頁面並返回 markdown。
捲曲-X POST https://api.firecrawl.dev/v0/search -H '內容類型:application/json' -H '授權:持有者 YOUR_API_KEY' -d '{ "query": "firecrawl", "pageOptions": { "fetchPageContent": true // false 對於快速 serp api } }'{“成功”:true,“數據”:[ { "url": "https://mendable.ai", "markdown": "# Markdown 內容", "provider": "web-scraper", "metadata": {"title": "Mendable | AI for CX和銷售","description": "AI for CX and Sales","language": null,"sourceURL": "https://www.mendable.ai/" } } ] }使用Python SDK
安裝Python SDK
pip 安裝 firecrawl-py抓取網站
from firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")# 抓取網站:scrape_status = app.scrape_url( 'https://firecrawl.dev', params={'formats': ['markdown', 'html']} )print(scrape_status)# 抓取網站:crawl_status = app.crawl_url( 'https://firecrawl.dev', params={'limit': 100, 'scrapeOptions': {'formats': ['markdown', 'html']} }, poll_interval=30)列印(crawl_status)從 URL 提取結構化數據
透過 LLM 提取,您可以輕鬆地從任何 URL 提取結構化資料。我們支援 pydantic 模式,讓您也更輕鬆。以下是如何使用它:
from firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")class ArticleSchema(BaseModel):title: strpoints: intby: strcommentsURL: strclass TopArticlesSchema(BaseModel):topema ==Article. max_items=5, description="前5 篇故事")data = app.scrape_url('https://news.ycombinator.com', {'formats': ['extract'],'extract': {'schema' :熱門文章Schema.model_json_schema() } })列印(資料[“提取”])使用節點 SDK
安裝
要安裝Firecrawl Node SDK,您可以使用npm:
npm 安裝@mendable/firecrawl-js用法
從 firecrawl.dev 取得 API 金鑰
將 API 金鑰設定為名為
FIRECRAWL_API_KEY
的環境變量,或將其作為參數傳遞給FirecrawlApp
類別。import FirecrawlApp, { CrawlParams, CrawlStatusResponse } from '@mendable/firecrawl-js';const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});// 抓取網站const scrapeResponse = httpswait app。 : //firecrawl.dev', { 格式:['markdown', 'html'],});if (scrapeResponse) { console.log(scrapeResponse)}// 爬取網站constcrawlResponse=awaitapp.crawlUrl('https://firecrawl.dev', { 限制:100, scrapeOptions: {格式: ['markdown', 'html'], }} 滿足 CrawlParams, true, 30) 滿足 CrawlStatusResponse;if (crawlResponse) { 控制台.log(crawlResponse)}從 URL 提取結構化數據
透過 LLM 提取,您可以輕鬆地從任何 URL 提取結構化資料。我們支援 zod 模式,讓您也更輕鬆。以下是如何使用它:
從“@mendable/firecrawl-js”導入 FirecrawlApp;從“zod”導入 { z };const app = new FirecrawlApp({ apiKey: "fc-YOUR_API_KEY"});// 定義 schema 以將內容提取到 const schema = z.object({ 頂部: z.array( z.object({title: z.string(),points: z.number(),by: z.string(),commentsURL: z.string(), })).length(5 ).describe("駭客新聞的前5 個故事"),});const scrapeResult = wait app.scrapeUrl("https://news.ycombinator.com", { extractorOptions: { extractSchema: schema },});console.log(scrapeResult.data["llm_extraction"]);開源與雲端產品
Firecrawl 是在 AGPL-3.0 許可證下開源的。
為了提供最好的產品,我們除了提供開源產品外,還提供 Firecrawl 的託管版本。雲端解決方案使我們能夠不斷創新並為所有用戶提供高品質、永續的服務。
Firecrawl Cloud 可在 firecrawl.dev 上獲取,並提供一系列開源版本中不提供的功能:
貢獻
我們熱愛貢獻!請在提交拉取請求之前閱讀我們的貢獻指南。如果您想自行託管,請參閱自助託管指南。
最終用戶有責任在使用 Firecrawl 進行抓取、搜尋和爬行時遵守網站政策。建議使用者在開始任何抓取活動之前遵守適用的隱私權政策和網站使用條款。預設情況下,Firecrawl 在抓取時會遵循網站 robots.txt 檔案中指定的指令。使用 Firecrawl 即表示您明確同意遵守這些條件。
貢獻者
許可免責聲明
本專案主要根據 GNU Affero 通用公共授權 v3.0 (AGPL-3.0) 獲得許可,如該儲存庫根目錄中的 LICENSE 檔案中所指定。然而,該專案的某些組件是根據 MIT 許可證獲得許可的。有關詳細信息,請參閱這些特定目錄中的 LICENSE 文件。
請注意:
除非另有說明,AGPL-3.0 授權適用於專案的所有部分。
SDK 和一些 UI 元件已根據 MIT 授權獲得許可。有關詳細信息,請參閱這些特定目錄中的 LICENSE 文件。
使用或貢獻此項目時,請確保遵守您正在使用的特定組件的適當授權條款。
有關特定組件許可的更多詳細信息,請參閱相應目錄中的 LICENSE 文件或聯絡專案維護人員。
↑ 返回頂部 ↑