قم بتمكين تطبيقات الذكاء الاصطناعي الخاصة بك ببيانات نظيفة من أي موقع ويب. يتميز بإمكانيات متقدمة للتجريف والزحف واستخراج البيانات.
هذا المستودع قيد التطوير، ومازلنا نقوم بدمج الوحدات المخصصة في المستودع الأحادي. إنه ليس جاهزًا تمامًا للنشر المستضاف ذاتيًا بعد، ولكن يمكنك تشغيله محليًا.
Firecrawl عبارة عن خدمة API تأخذ عنوان URL، وتزحف إليه، وتحوله إلى بيانات منظمة أو بيانات منظمة. نقوم بالزحف إلى جميع الصفحات الفرعية التي يمكن الوصول إليها ونمنحك بيانات نظيفة لكل منها. لا حاجة لخريطة الموقع. تحقق من وثائقنا.
توقيت المحيط الهادي. مرحبًا، انضم إلى مراقبي النجوم لدينا :)
نحن نقدم واجهة برمجة تطبيقات سهلة الاستخدام مع نسختنا المستضافة. يمكنك العثور على الملعب والوثائق هنا. يمكنك أيضًا استضافة الواجهة الخلفية بنفسك إذا كنت ترغب في ذلك.
تحقق من الموارد التالية للبدء:
واجهة برمجة التطبيقات : الوثائق
أدوات تطوير البرامج (SDKs) : Python، Node، Go، Rust
أطر عمل LLM : Langchain (python)، Langchain (js)، Llama Index، Crew.ai، Composio، PraisonAI، Superinterface، Vectorize
أطر عمل ذات تعليمات برمجية منخفضة : Dify، وLangflow، وFlowise AI، وCargo، وPipedream
آخرون : زابير، بابلي كونيكت
هل تريد SDK أو التكامل؟ اسمحوا لنا أن نعرف عن طريق فتح قضية.
للتشغيل محليًا، راجع الدليل هنا.
لاستخدام واجهة برمجة التطبيقات (API)، يتعين عليك الاشتراك في Firecrawl والحصول على مفتاح واجهة برمجة التطبيقات (API).
Scrape : يستخرج عنوان URL ويحصل على محتواه بتنسيق جاهز لـ LLM (تخفيض السعر، البيانات المنظمة عبر LLM Extract، لقطة الشاشة، html)
الزحف : يقوم بمسح جميع عناوين URL لصفحة الويب وإرجاع المحتوى بتنسيق جاهز لـ LLM
الخريطة : أدخل موقع ويب واحصل على جميع عناوين URL لموقع الويب - بسرعة كبيرة
تنسيقات جاهزة لـ LLM : تخفيض السعر، البيانات المنظمة، لقطة الشاشة، HTML، الروابط، البيانات الوصفية
الأشياء الصعبة : الوكلاء، وآليات مكافحة الروبوتات، والمحتوى الديناميكي (يتم عرض js)، وتحليل الإخراج، والتنسيق
إمكانية التخصيص : استبعاد العلامات، والزحف خلف جدران المصادقة باستخدام رؤوس مخصصة، والحد الأقصى لعمق الزحف، وما إلى ذلك...
تحليل الوسائط : ملفات pdf، docx، الصور.
الموثوقية أولاً : مصممة للحصول على البيانات التي تحتاجها - بغض النظر عن مدى صعوبتها.
الإجراءات : النقر والتمرير والإدخال والانتظار والمزيد قبل استخراج البيانات
التجميع (جديد) : استخرج آلاف عناوين URL في نفس الوقت باستخدام نقطة نهاية غير متزامنة جديدة
يمكنك العثور على جميع إمكانيات Firecrawl وكيفية استخدامها في وثائقنا
يُستخدم للزحف إلى عنوان URL وجميع الصفحات الفرعية التي يمكن الوصول إليها. يؤدي هذا إلى إرسال مهمة الزحف وإرجاع معرف الوظيفة للتحقق من حالة الزحف.
حليقة -X POST https://api.firecrawl.dev/v1/crawl -H "نوع المحتوى: تطبيق/json" -H "التفويض: Bearer fc-YOUR_API_KEY" -d '{ "url": "https://docs.firecrawl.dev"، "limit": 100، "scrapeOptions": { "formats": ["markdown"، "html"] } }'
إرجاع معرف مهمة الزحف وعنوان url للتحقق من حالة الزحف.
{ "success": صحيح، "id": "123-456-789"، "url": "https://api.firecrawl.dev/v1/crawl/123-456-789"}
يُستخدم للتحقق من حالة مهمة الزحف والحصول على نتيجتها.
حليقة -X احصل على https://api.firecrawl.dev/v1/crawl/123-456-789 -H "نوع المحتوى: تطبيق/json" -H "التفويض: حامل YOUR_API_KEY"
{ "الحالة": "مكتملة"، "الإجمالي": 36، "الاعتمادات المستخدمة": 36، "expiresAt": "2024-00-00T00:00:00.000Z"، "بيانات": [ { "markdown": "[الصفحة الرئيسية لـFirecrawl Docs![شعار خفيف](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!..."، " html": "...", "metadata": {"title": "إنشاء "دردشة مع موقع الويب" باستخدام Groq Llama 3 | "language": "en"،" sourceURL": "https://docs.firecrawl.dev/learn/rag-llama3"، "description": "تعرف على كيفية استخدام Firecrawl وGroq Llama 3 وLangchain لإنشاء "دردشة مع موقع الويب الخاص بك" bot.,"ogLocaleAlternate": [],"statusCode": 200 } } ] }
يُستخدم لاستخراج عنوان URL والحصول على محتواه بالتنسيقات المحددة.
حليقة -X POST https://api.firecrawl.dev/v1/scrape -H "نوع المحتوى: تطبيق/json" -H "التفويض: حامل YOUR_API_KEY" -d '{ "url": "https://docs.firecrawl.dev"، "التنسيقات" : ["markdown"، "html"] }'
إجابة:
{ "success": true, "data": {"markdown": "لقد وصل أسبوع الإطلاق الأول! [راجع إصدار اليوم الثاني](https://www.firecrawl.dev/blog/launch-week-i-day -2-حدود-سعر مضاعف)[؟ احصل على شهرين مجانًا..."،html": "الخريطة (ألفا)
يستخدم لتعيين عنوان URL والحصول على عناوين URL لموقع الويب. يؤدي هذا إلى إرجاع معظم الروابط الموجودة على الموقع.
حليقة -X POST https://api.firecrawl.dev/v1/map -H "نوع المحتوى: تطبيق/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 محددة داخل موقع الويب.حليقة -X POST https://api.firecrawl.dev/v1/map -H "نوع المحتوى: تطبيق/json" -H "التفويض: حامل YOUR_API_KEY" -d '{ "url": "https://firecrawl.dev"، "بحث": "docs" }'ستكون الاستجابة عبارة عن قائمة مرتبة من الأكثر صلة بالموضوع إلى الأقل صلة بالموضوع.
{ "الحالة": "النجاح"، "الروابط": ["https://docs.firecrawl.dev"، "https://docs.firecrawl.dev/sdks/python"، "https://docs.firecrawl". .dev/learn/rag-llama3"، ] }استخراج LLM (بيتا)
يستخدم لاستخراج البيانات المنظمة من الصفحات المحذوفة.
حليقة -X POST https://api.firecrawl.dev/v1/scrape -H "نوع المحتوى: تطبيق/json" -H "التفويض: حامل YOUR_API_KEY" -d '{ "url": "https://www.mendable.ai/"، "التنسيقات": ["استخراج"]، "استخراج": { "المخطط": { "نوع": "كائن"، " Properties": { "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": "Raw Content"، "metadata": { "title": "Mendable"، "description": "Mendable يتيح لك إنشاء تطبيقات دردشة تعمل بالذكاء الاصطناعي بسهولة. استيعاب ، قم بالتخصيص ثم النشر باستخدام سطر واحد من التعليمات البرمجية في أي مكان تريده، مقدم إليك بواسطة SideGuide"، "robots": "follow, Index"، "ogTitle": "Mendable"، "ogDescription": "Mendable يسمح لك بالإنشاء بسهولة. دردشة الذكاء الاصطناعي استيعاب التطبيقات وتخصيصها ثم نشرها باستخدام سطر واحد من التعليمات البرمجية في أي مكان تريده. ai/mendable_new_og1.png", "ogLocaleAlternate": [], "ogSiteName": "Mendable", "sourceURL": "https://mendable.ai/"},"llm_extraction": { "company_mission": "تدريب ذكاء اصطناعي آمن على مواردك الفنية يجيب على أسئلة العملاء والموظفين حتى لا يضطر فريقك إلى ذلك"، "supports_sso": صحيح، "is_open_source": خطأ، "is_in_yc": صحيح} } }استخراج بدون مخطط (جديد)
يمكنك الآن الاستخراج بدون مخطط بمجرد تمرير
prompt
إلى نقطة النهاية. يختار الفيلم بنية البيانات.حليقة -X POST https://api.firecrawl.dev/v1/scrape -H "نوع المحتوى: تطبيق/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 "نوع المحتوى: تطبيق/json" -H "التفويض: حامل YOUR_API_KEY" -d '{ "url": "google.com"، "formats": ["markdown"]، "actions": [ {"type": "wait"، "millithans": 2000}، {"type": "انقر"، "محدد": "منطقة النص[عنوان = "بحث"]"}، {"نوع": "انتظر"، "ميلي ثانية": 2000}، {"نوع": "كتابة"، "نص": " الزحف الناري"}, {"نوع": "انتظر"، "ميلي ثانية": 2000}، {"نوع": "اضغط"، "مفتاح": "إدخال"}، {"نوع": "انتظار"، "ميلي ثانية": 3000}، {"نوع": "انقر"، "محدد": "h3"}، {"نوع": "انتظر"، "ملي ثانية": 3000}، {"نوع": "لقطة شاشة"} ] }'تجريف عناوين URL متعددة دفعة واحدة (جديد)
يمكنك الآن تجميع عناوين URL متعددة في نفس الوقت. إنه مشابه جدًا لكيفية عمل نقطة النهاية /crawl. يقوم بإرسال مهمة كشط دفعة واحدة وإرجاع معرف الوظيفة للتحقق من حالة كشط الدُفعة.
حليقة -X POST https://api.firecrawl.dev/v1/batch/scrape -H "نوع المحتوى: تطبيق/json" -H "التفويض: حامل YOUR_API_KEY" -d '{ "urls": ["https://docs.firecrawl.dev"، "https://docs.firecrawl.dev/sdks/overview"]، "التنسيقات" : ["تخفيض السعر"، "html" ] }'البحث (الإصدار 0) (تجريبي)
يُستخدم للبحث في الويب والحصول على النتائج الأكثر صلة وكشط كل صفحة وإرجاع تخفيض السعر.
حليقة -X POST https://api.firecrawl.dev/v0/search -H "نوع المحتوى: تطبيق/json" -H "التفويض: حامل YOUR_API_KEY" -d '{ "query": "firecrawl"، "pageOptions": { "fetchPageContent": true // false لواجهة برمجة تطبيقات serp سريعة } }'{ "النجاح": صحيح، "البيانات": [ { "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/" } } ] }باستخدام بايثون SDK
تثبيت بايثون SDK
نقطة تثبيت firecrawl-pyالزحف إلى موقع ويب
من firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")# كشط موقع ويب:scrape_status = app.scrape_url( 'https://firecrawl.dev', المعلمات = {'التنسيقات': ['تخفيض السعر'، 'html']} )print(scrape_status)# الزحف إلى موقع ويب:crawl_status = app.crawl_url( 'https://firecrawl.dev', المعلمات = {'الحد': 100، 'scrapeOptions': {'التنسيقات': ['تخفيض السعر'، 'html']} }، poll_interval=30)طباعة(crawl_status)استخراج البيانات المنظمة من عنوان URL
مع استخراج LLM، يمكنك بسهولة استخراج البيانات المنظمة من أي عنوان URL. نحن ندعم مخططات Pydantic لتسهيل الأمر عليك أيضًا. إليك كيفية استخدامه:
من firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")class ArticleSchema(BaseModel):title: strpoints: intby: strcommentsURL: strclass TopArticlesSchema(BaseModel):top: List[ArticleSchema] = Field(..., max_items=5, description="أفضل 5 قصص")data = app.scrape_url('https://news.ycombinator.com', {'التنسيقات': ['استخراج'],'استخراج': {'المخطط': TopArticlesSchema.model_json_schema() } })طباعة(بيانات["استخراج"])باستخدام العقدة SDK
تثبيت
لتثبيت Firecrawl Node SDK، يمكنك استخدام npm:
تثبيت npm @mendable/firecrawl-jsالاستخدام
احصل على مفتاح API من firecrawl.dev
قم بتعيين مفتاح API كمتغير بيئة يسمى
FIRECRAWL_API_KEY
أو قم بتمريره كمعلمة إلى فئةFirecrawlApp
.import FirecrawlApp, { CrawlParams, CrawlStatusResponse } from '@mendable/firecrawl-js';const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});// كشط موقع ويبconst ScrapeResponse = انتظار app.scrapeUrl('https: //firecrawl.dev'، { التنسيقات: ['تخفيض السعر'، 'html']،})؛if (scrapeResponse) { console.log(scrapeResponse)}// الزحف إلى موقع ويبconst CrawlResponse = انتظار app.crawlUrl('https://firecrawl.dev', { الحد: 100، خيارات الكشط: {التنسيقات: ['تخفيض السعر'، 'html']، }} يرضي CrawlParams، صحيح، 30) يرضي CrawlStatusResponse;if (crawlResponse) { console.log(crawlResponse)}استخراج البيانات المنظمة من عنوان URL
مع استخراج LLM، يمكنك بسهولة استخراج البيانات المنظمة من أي عنوان URL. نحن ندعم مخطط zod لتسهيل الأمر عليك أيضًا. إليك كيفية استخدامه:
استيراد FirecrawlApp من "@mendable/firecrawl-js";استيراد { z } من "zod";const app = new FirecrawlApp({ apiKey: "fc-YOUR_API_KEY"});// تحديد المخطط لاستخراج المحتويات إلى مخطط const = 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 = انتظار app.scrapeUrl("https://news.ycombinator.com", { extractorOptions: { extractorSchema: المخطط },});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)، كما هو محدد في ملف الترخيص في الدليل الجذر لهذا المستودع. ومع ذلك، فإن بعض مكونات هذا المشروع مرخصة بموجب ترخيص MIT. ارجع إلى ملفات الترخيص في هذه الدلائل المحددة للحصول على التفاصيل.
يرجى الملاحظة:
ينطبق ترخيص AGPL-3.0 على جميع أجزاء المشروع ما لم ينص على خلاف ذلك.
يتم ترخيص مجموعات SDK وبعض مكونات واجهة المستخدم بموجب ترخيص MIT. ارجع إلى ملفات الترخيص في هذه الدلائل المحددة للحصول على التفاصيل.
عند استخدام هذا المشروع أو المساهمة فيه، تأكد من الالتزام بشروط الترخيص المناسبة للمكون المحدد الذي تعمل معه.
لمزيد من التفاصيل حول ترخيص مكونات محددة، يرجى الرجوع إلى ملفات الترخيص في الدلائل المعنية أو الاتصال بمشرفي المشروع.
↑ العودة إلى الأعلى ↑