เสริมพลังให้กับแอป AI ของคุณด้วยข้อมูลที่สะอาดจากทุกเว็บไซต์ มีความสามารถในการขูด การรวบรวมข้อมูล และการดึงข้อมูลขั้นสูง
พื้นที่เก็บข้อมูลนี้อยู่ระหว่างการพัฒนา และเรายังคงรวมโมดูลที่กำหนดเองเข้ากับ repo แบบโมโน ยังไม่พร้อมสำหรับการปรับใช้แบบโฮสต์เองอย่างสมบูรณ์ แต่คุณสามารถเรียกใช้ในเครื่องได้
Firecrawl เป็นบริการ API ที่ใช้ URL รวบรวมข้อมูล และแปลงเป็นมาร์กดาวน์หรือข้อมูลที่มีโครงสร้างที่ชัดเจน เรารวบรวมข้อมูลหน้าย่อยที่เข้าถึงได้ทั้งหมดและให้ข้อมูลที่ชัดเจนสำหรับแต่ละหน้า ไม่จำเป็นต้องมีแผนผังเว็บไซต์ ตรวจสอบเอกสารของเรา
ป.ล. เฮ้ คุณมาร่วมดูดาวกับเราสิ :)
เราจัดเตรียม 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-ready (มาร์กดาวน์, ข้อมูลที่มีโครงสร้างผ่าน LLM Extract, ภาพหน้าจอ, html)
รวบรวมข้อมูล : คัดลอก URL ทั้งหมดของหน้าเว็บและส่งกลับเนื้อหาในรูปแบบที่พร้อมใช้งาน LLM
แผนที่ : ป้อนเว็บไซต์และรับ URL ของเว็บไซต์ทั้งหมด - รวดเร็วมาก
รูปแบบที่พร้อมใช้งาน LLM : มาร์กดาวน์, ข้อมูลที่มีโครงสร้าง, ภาพหน้าจอ, HTML, ลิงก์, ข้อมูลเมตา
สิ่งที่ยาก : พรอกซี, กลไกต่อต้านบอท, เนื้อหาไดนามิก (เรนเดอร์ js), การแยกวิเคราะห์เอาต์พุต, การเรียบเรียง
ความสามารถในการปรับแต่งได้ : ยกเว้นแท็ก, รวบรวมข้อมูลหลังกำแพงการตรวจสอบสิทธิ์ด้วยส่วนหัวที่กำหนดเอง, ความลึกของการรวบรวมข้อมูลสูงสุด ฯลฯ...
การแยกวิเคราะห์สื่อ : pdf, docx, รูปภาพ
ความน่าเชื่อถือต้องมาก่อน : ออกแบบมาเพื่อรับข้อมูลที่คุณต้องการ ไม่ว่าจะยากแค่ไหนก็ตาม
การดำเนินการ : คลิก เลื่อน ป้อนข้อมูล รอ และอื่นๆ ก่อนที่จะแยกข้อมูล
การแบตช์ (ใหม่) : คัดลอก URL นับพันรายการพร้อมกันด้วยจุดสิ้นสุดอะซิงก์ใหม่
คุณสามารถดูความสามารถทั้งหมดของ Firecrawl และวิธีใช้งานได้ในเอกสารประกอบของเรา
ใช้เพื่อรวบรวมข้อมูล URL และหน้าย่อยที่สามารถเข้าถึงได้ทั้งหมด ซึ่งจะส่งงานการรวบรวมข้อมูลและส่งกลับรหัสงานเพื่อตรวจสอบสถานะของการรวบรวมข้อมูล
curl -X โพสต์ 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"] } }'
ส่งกลับรหัสงานการรวบรวมข้อมูลและ URL เพื่อตรวจสอบสถานะของการรวบรวมข้อมูล
{ "ความสำเร็จ": จริง "id": "123-456-789", "url": "https://api.firecrawl.dev/v1/crawl/123-456-789"}
ใช้เพื่อตรวจสอบสถานะของงานรวบรวมข้อมูลและรับผลลัพธ์
curl -X รับ https://api.firecrawl.dev/v1/crawl/123-456-789 -H 'ประเภทเนื้อหา: application/json' -H 'การอนุญาต: ผู้ถือ YOUR_API_KEY'
{ "สถานะ": "เสร็จสมบูรณ์", "ทั้งหมด": 36, "creditsUsed": 36, "expiresAt": "2024-00-00T00:00:00.000Z", "data": [ { "markdown": "[หน้าแรกของเอกสาร Firecrawl![โลโก้แสง](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!...", " html": "...", "metadata": {"title": "สร้าง 'แชทกับเว็บไซต์' โดยใช้ Groq Llama 3 | Firecrawl","ภาษา": "en"," sourceURL": "https://docs.firecrawl.dev/learn/rag-llama3","description": "เรียนรู้วิธีใช้ Firecrawl, Groq Llama 3 และ Langchain เพื่อสร้าง 'แชทกับเว็บไซต์ของคุณ' bot.","ogLocaleAlternate": [],"statusCode": 200 } - - -
ใช้เพื่อคัดลอก URL และรับเนื้อหาในรูปแบบที่ระบุ
curl -X โพสต์ 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 ของเว็บไซต์ ซึ่งจะส่งคืนลิงก์ส่วนใหญ่ที่มีอยู่บนเว็บไซต์
curl -X โพสต์ 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
ช่วยให้คุณค้นหา URL เฉพาะภายในเว็บไซต์ได้curl -X โพสต์ 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", - -การสกัด LLM (เบต้า)
ใช้เพื่อแยกข้อมูลที่มีโครงสร้างออกจากหน้าที่คัดลอกมา
curl -X โพสต์ https://api.firecrawl.dev/v1/scrape -H 'ประเภทเนื้อหา: application/json' -H 'การอนุญาต: ผู้ถือ YOUR_API_KEY' -d '{ "url": "https://www.mendable.ai/", "formats": ["extract"], "extract": { "schema": { "type": "object", " คุณสมบัติ": { "company_mission": { "type": "string" }, "supports_sso": { "type": "boolean" }, "is_open_source": { "type": "boolean" }, "is_in_yc": { "type": "boolean" } }, "จำเป็น": [ "company_mission", "supports_sso", "is_open_source", "is_in_yc" ] } } }'{ "success": true, "data": {"content": "Raw Content", "metadata": { "title": "Mendable", "description": "Mendable ช่วยให้คุณสร้างแอปพลิเคชันแชท AI ได้อย่างง่ายดาย นำเข้า ปรับแต่ง จากนั้นปรับใช้ด้วยโค้ดหนึ่งบรรทัดทุกที่ที่คุณต้องการ มาถึงคุณโดย SideGuide", "robots": "follow, index", "ogTitle": "Mendable", "ogDescription": "Mendable ช่วยให้คุณสร้างแอปพลิเคชันแชท AI ได้อย่างง่ายดาย นำเข้า ปรับแต่ง จากนั้นปรับใช้ด้วยโค้ดหนึ่งบรรทัดทุกที่ที่คุณต้องการ มาถึงคุณโดย SideGuide", "ogUrl": "https://mendable.ai/", "ogImage ": "https://mendable.ai/mendable_new_og1.png", "ogLocaleAlternate": [], "ogSiteName": "ซ่อมได้", "sourceURL": "https://mendable.ai/"},"llm_extraction": { "company_mission": "ฝึกอบรม AI ที่ปลอดภัยบนทรัพยากรทางเทคนิคของคุณ ซึ่งจะตอบคำถามของลูกค้าและพนักงาน เพื่อให้ทีมของคุณไม่จำเป็นต้องทำ", "supports_sso": จริง "is_open_source": เท็จ "is_in_yc": จริง} - -แยกโดยไม่มีสคีมา (ใหม่)
ตอนนี้คุณสามารถแยกข้อมูลโดยไม่ต้องใช้สคีมาโดยเพียงแค่ส่ง
prompt
ไปยังตำแหน่งข้อมูล llm จะเลือกโครงสร้างของข้อมูลcurl -X โพสต์ 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 คลิกที่ผลลัพธ์แรก และถ่ายภาพหน้าจอ
curl -X โพสต์ https://api.firecrawl.dev/v1/scrape -H 'ประเภทเนื้อหา: application/json' -H 'การอนุญาต: ผู้ถือ YOUR_API_KEY' -d '{ "url": "google.com", "formats": ["markdown"], "actions": [ {"type": "wait", "มิลลิวินาที": 2000}, {"type": "คลิก", "selector": "textarea[title="Search"]"}, {"type": "wait", "มิลลิวินาที": 2000}, {"type": "write", "text": "firecrawl"}, {"type": "wait", "มิลลิวินาที": 2000}, {"type": "press", "key": "ENTER"}, {"type": "wait ", "มิลลิวินาที": 3000}, {"type": "คลิก", "selector": "h3"}, {"type": "รอ", "มิลลิวินาที": 3000}, {"type": "ภาพหน้าจอ"} ] }'Batch Scraping หลาย URL (ใหม่)
ตอนนี้คุณสามารถคัดลอก URL หลายรายการพร้อมกันได้ คล้ายกับการทำงานของจุดสิ้นสุด /crawl มาก โดยจะส่งงานการขูดแบบแบทช์และส่งคืนรหัสงานเพื่อตรวจสอบสถานะของการขูดแบบแบทช์
curl -X โพสต์ 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"], "formats" : ["markdown", "html" ] }'ค้นหา (v0) (เบต้า)
ใช้เพื่อค้นหาเว็บ รับผลลัพธ์ที่เกี่ยวข้องมากที่สุด ขูดแต่ละหน้า และส่งคืนมาร์กดาวน์
curl -X โพสต์ https://api.firecrawl.dev/v0/search -H 'ประเภทเนื้อหา: application/json' -H 'การอนุญาต: ผู้ถือ YOUR_API_KEY' -d '{ "query": "firecrawl", "pageOptions": { "fetchPageContent": true // false สำหรับ serp api ที่รวดเร็ว } }'{ "ความสำเร็จ": จริง "ข้อมูล": [ { "url": "https://mendable.ai", "markdown": "# Markdown Content", "provider": "web-scraper", "metadata": {"title": "Mendable | AI สำหรับ CX และการขาย", "คำอธิบาย": "AI สำหรับ CX และการขาย", "ภาษา": null, "sourceURL": "https://www.mendable.ai/" } - - -การใช้หลาม SDK
การติดตั้ง Python SDK
pip ติดตั้ง firecrawl-pyรวบรวมข้อมูลเว็บไซต์
จาก firecrawl.firecrawl นำเข้า 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 schema เพื่อให้ง่ายสำหรับคุณเช่นกัน นี่คือวิธีการใช้งาน:
จาก firecrawl.firecrawl นำเข้า FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")class ArticleSchema(BaseModel):title: strpoints: intby: strcommentsURL: strclass TopArticlesSchema(BaseModel):top: รายการ[ArticleSchema] = ฟิลด์(..., max_items=5, description="เรื่องราว 5 อันดับแรก")data = app.scrape_url('https://news.ycombinator.com', {'formats': ['extract'],'extract': {'schema': TopArticlesSchema.model_json_schema() - })พิมพ์(ข้อมูล["แยก"])การใช้โหนด SDK
การติดตั้ง
หากต้องการติดตั้ง Firecrawl Node SDK คุณสามารถใช้ npm:
npm ติดตั้ง @mendable/firecrawl-jsการใช้งาน
รับคีย์ API จาก firecrawl.dev
ตั้งค่าคีย์ API เป็นตัวแปรสภาพแวดล้อมชื่อ
FIRECRAWL_API_KEY
หรือส่งเป็นพารามิเตอร์ไปยังคลาสFirecrawlApp
นำเข้า FirecrawlApp, { CrawlParams, CrawlStatusResponse } จาก '@mendable/firecrawl-js';const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});// Scrape a websiteconst scrapeResponse = await app.scrapeUrl('https: //firecrawl.dev', { รูปแบบ: ['markdown', 'html'],}); if (scrapeResponse) { console.log(scrapeResponse)}// รวบรวมข้อมูลเว็บไซต์const crawlResponse = รอ app.crawlUrl('https://firecrawl.dev', { ขีดจำกัด: 100, scrapeOptions: {รูปแบบ: ['markdown', 'html'], }} ตอบสนอง CrawlParams, จริง, 30) ตอบสนอง CrawlStatusResponse; ถ้า (crawlResponse) { console.log(การรวบรวมข้อมูลการตอบสนอง)}แยกข้อมูลที่มีโครงสร้างออกจาก URL
ด้วยการแยก LLM คุณสามารถแยกข้อมูลที่มีโครงสร้างจาก URL ใดก็ได้ได้อย่างง่ายดาย เราสนับสนุน zod schema เพื่อให้ง่ายสำหรับคุณเช่นกัน นี่คือวิธีการใช้งาน:
นำเข้า FirecrawlApp จาก "@mendable/firecrawl-js"; นำเข้า { z } จาก "zod"; const app = new FirecrawlApp({ apiKey: "fc-YOUR_API_KEY"});// กำหนดสคีมาเพื่อแยกเนื้อหาออกเป็น const schema = z.object({ ด้านบน: z.array( z.object({title: z.string(),points: z.number(),by: z.string(),commentsURL: z.string(), })).length(5 ).describe("5 เรื่องเด่นใน Hacker News"),});const scrapeResult = await app.scrapeUrl("https://news.ycombinator.com", { extractorOptions: { extractionSchema: schema },});console.log(scrapeResult.data["llm_extraction"]);โอเพ่นซอร์สเทียบกับข้อเสนอบนคลาวด์
Firecrawl เป็นโอเพ่นซอร์สที่พร้อมใช้งานภายใต้ใบอนุญาต AGPL-3.0
เพื่อส่งมอบผลิตภัณฑ์ที่ดีที่สุดเท่าที่จะเป็นไปได้ เราขอเสนอ Firecrawl เวอร์ชันโฮสต์ควบคู่ไปกับข้อเสนอโอเพ่นซอร์สของเรา โซลูชันระบบคลาวด์ช่วยให้เราสามารถสร้างสรรค์นวัตกรรมและรักษาบริการคุณภาพสูงและยั่งยืนสำหรับผู้ใช้ทุกคนได้อย่างต่อเนื่อง
Firecrawl Cloud มีให้บริการที่ firecrawl.dev และนำเสนอฟีเจอร์ต่างๆ ที่ไม่มีในเวอร์ชันโอเพ่นซอร์ส:
มีส่วนร่วม
เรารักการมีส่วนร่วม! โปรดอ่านคู่มือการมีส่วนร่วมของเราก่อนส่งคำขอดึง หากคุณต้องการโฮสต์ด้วยตนเอง โปรดดูคู่มือการโฮสต์ด้วยตนเอง
เป็นความรับผิดชอบของผู้ใช้แต่เพียงผู้เดียวในการเคารพนโยบายของเว็บไซต์เมื่อทำการคัดลอก ค้นหา และรวบรวมข้อมูลด้วย Firecrawl ผู้ใช้ควรปฏิบัติตามนโยบายความเป็นส่วนตัวและข้อกำหนดการใช้งานเว็บไซต์ที่เกี่ยวข้องก่อนที่จะเริ่มกิจกรรมการคัดลอกข้อมูล ตามค่าเริ่มต้น Firecrawl จะเคารพคำสั่งที่ระบุในไฟล์ robots.txt ของเว็บไซต์เมื่อทำการรวบรวมข้อมูล เมื่อใช้ Firecrawl คุณตกลงอย่างชัดแจ้งที่จะปฏิบัติตามเงื่อนไขเหล่านี้
ผู้ร่วมให้ข้อมูล
การปฏิเสธสิทธิ์การใช้งาน
โปรเจ็กต์นี้ได้รับอนุญาตเป็นหลักภายใต้ GNU Affero General Public License v3.0 (AGPL-3.0) ตามที่ระบุไว้ในไฟล์ LICENSE ในไดเร็กทอรีรากของที่เก็บนี้ อย่างไรก็ตาม ส่วนประกอบบางส่วนของโครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT โปรดดูรายละเอียดในไฟล์ LICENSE ในไดเร็กทอรีเฉพาะเหล่านี้
โปรดทราบ:
ใบอนุญาต AGPL-3.0 ใช้กับทุกส่วนของโครงการ เว้นแต่จะระบุไว้เป็นอย่างอื่น
SDK และส่วนประกอบ UI บางส่วนได้รับอนุญาตภายใต้ใบอนุญาต MIT โปรดดูรายละเอียดในไฟล์ LICENSE ในไดเร็กทอรีเฉพาะเหล่านี้
เมื่อใช้หรือมีส่วนร่วมในโครงการนี้ ตรวจสอบให้แน่ใจว่าคุณปฏิบัติตามข้อกำหนดสิทธิ์การใช้งานที่เหมาะสมสำหรับส่วนประกอบเฉพาะที่คุณใช้งานอยู่
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการอนุญาตใช้งานส่วนประกอบเฉพาะ โปรดดูไฟล์ LICENSE ในไดเร็กทอรีที่เกี่ยวข้อง หรือติดต่อผู้ดูแลโครงการ
↑ กลับไปด้านบน ↑