প্রকল্প সম্পর্কে

Crawl4AI একটি ওপেন-সোর্স Python লাইব্রেরি এবং CLI টুল যা ওয়েব ক্রলিং ও স্ক্র্যাপিংয়ের জন্য ডিজাইন করা হয়েছে এবং পরিষ্কার, LLM-রিডি Markdown আউটপুট প্রদান করে। এটি RAG পাইপলাইন, AI অ্যাজেন্ট এবং ডেটা এক্সট্র্যাকশন ওয়ার্কফ্লো তৈরিতে ব্যাপকভাবে ব্যবহৃত হয়। ## ওভারভিউ Crawl4AI ওয়েবকে Downstream AI প্রসেসিংয়ের জন্য উপযোগী কাঠামোবদ্ধ Markdown তে রূপান্তর করে। এটি প্রোগ্রাম্যাটিক Python ব্যবহার এবং কমান্ড-লাইন ইন্টারফেস দুটোই সমর্থন করে, যেখানে ঐচ্ছিক LLM-চালিত কাঠামোবদ্ধ ডেটা এক্সট্রাকশন এবং CSS/XPath-ভিত্তিক স্কিমা এক্সট্রাকশন রয়েছে। ## প্রধান বৈশিষ্ট্য ### Markdown জেনারেশন - হেডিং, টেবিল এবং কোড ব্লক সহ পরিষ্কার, কাঠামোবদ্ধ Markdown তৈরি করে - Fit Markdown মোড ধোঁয়াশা ও অপ্রাসঙ্গিক বিষয়বস্তু বাদ দিতে হিউরিস্টিক ফিল্টারিং প্রয়োগ করে - লিংককে নম্বরযুক্ত রেফারেন্সে রূপান্তরকারী সিটেশন-এウェア আউটপুট - BM25-ভিত্তিক কুয়েরি-রিలేভেন্ট এক্সট্রাকশনের জন্য কনটেন্ট ফিল্টারিং - প্লাগেবল মার্কডাউন জেনারেশন কৌশল ### কাঠামোবদ্ধ ডেটা এক্সট্রাকশন - LiteLLM এর মাধ্যমে LLM-চালিত এক্সট্রাকশন, উভয় ওপেন-সোর্স ও প্রোপ্রিয়েটারি মডেল সমর্থন করে - CSS সিলেক্টর ও XPath ব্যবহার করে JSON স্কিমা-ভিত্তিক এক্সট্রাকশন - টপিক-ভিত্তিক, রেগুলার এক্সপ্রেশন, বাক্য-স্তরের চাঙ্কিং কৌশল - সেমান্টিক কনটেন্ট ম্যাচিংয়ের জন্য কোসাইন সিমিলারিটি সার্চ ### ব্রাউজার ইন্টিগ্রেশন - Playwright দ্বারা চালিত অ্যাসিঙ্ক্রোনাস ব্রাউজার পুল - সংরক্ষিত অথ স্টেট ও কারুকিপ সহ ব্যবহারকারীর নিজস্ব ব্রাউজার প্রোফাইল ব্যবহার করে ম্যানেজড ব্রাউজার মোড - Chrome DevTools Protocol এর মাধ্যমে রিমোট ব্রাউজার নিয়ন্ত্রণ - অথেন্টিকেশন সহ প্রক্সি সাপোর্ট - বট ডিটেকশন কমানোর জন্য স্টিলথ মোড - একাধিক ব্রাউজার সাপোর্ট (Chromium, Firefox, WebKit) - ডাইনামিক ভিউপোর্ট অ্যাডজাস্টমেন্ট ### ক্রলিং ফিচার - ডায়নামিক কনটেন্টের জন্য async/sync ওয়েট সহ JavaScript এক্সিকিউশন - ক্রল করার সময় স্ক্রিনশট ক্যাপচার - মিডিয়া এক্সট্রাকশন (ইমেজ, অডিও, ভিডিও, রেসপন্সিভ srcset/picture ফরম্যাট) - خام HTML ও লোকাল ফাইল প্রসেসিং - iframe কনটেন্ট সহ বিস্তারিত লিংক এক্সট্রাকশন - ইনফিনিট স্ক্রলের জন্য লেজি লোড হ্যান্ডলিং ও পুরো-পৃষ্ঠা স্ক্যানিং - প্রতিটি ক্রল স্টেপে হুক-ভিত্তিক কাস্টমাইজেশন - বিল্ট-ইন ক্যাশিং ### ডিপ্লয়মেন্ট - API-ভিত্তিক ওয়ার্কফ্লোয়ের জন্য Dockerized FastAPI সার্ভার - JWT টোকেন অথেন্টিকেশন (সাম্প্রতিক ভার্সনে ডিফল্টভাবে সক্রিয়) - `/dashboard` ও `/playground` এ মনিটরিং ড্যাশবোর্ড ও ইন্টারেক্টিভ প্লেগ্রাউন্ড - AI টুল কানেকশনের জন্য MCP ইন্টিগ্রেশন - মাল্টি-আর্কিটেকচার Docker ইমেজ (AMD64/ARM64) - ক্লাউড ডিপ্লয়মেন্ট রেডি ## ইনস্টলেশন ```bash pip install -U crawl4ai crawl4ai-setup ``` ম্যানুয়াল Playwright ইনস্টলেশনের জন্য: ```bash python -m playwright install --with-deps chromium ``` ## ব্যবহার ### Python API ```python import asyncio from crawl4ai import AsyncWebCrawler async def main(): async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://example.com") print(result.markdown) asyncio.run(main()) ``` ### CLI ```bash # Basic crawl crwl https://example.com -o markdown # Deep crawl crwl https://example.com --deep-crawl bfs --max-pages 10 # LLM extraction crwl https://example.com -q "Extract all product prices" ``` ### Docker ```bash docker pull unclecode/crawl4ai:latest docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest ``` তারপর মনিটরিং UI এর জন্য `http://localhost:11235/dashboard` বা ইন্টারেক্টিভ টেস্ট এনভায়রনমেন্ট এর জন্য `http://localhost:11235/playground` ভিজিট করুন। ## প্রজেক্টের তথ্য - রিপোজিটরি: unclecode/crawl4ai - PyPI: crawl4ai - ডকুমেন্টেশন: https://docs.crawl4ai.com/ - Discord কমিউনিটি: https://discord.gg/jP8KfhDhyN - স্পন্সর: https://github.com/sponsors/unclecode প্রজেক্টটি ওপেন অ্যাভেইলেবিলিটি ও সাশ্রয়ী মূল্যের ওপর জোর দেয়, যা কmersial ওয়েব এক্সট্রাকশন APIs এর একটি সেলফ-হোস্টেড বিকল্প হিসেবে অবস্থান করে। এর GitHub এ 50,000 এরও বেশি স্টার রয়েছে এবং নিয়মিত রিলিজের মাধ্যমে সিকিউরিটি সক্রিয়ভাবে রক্ষা করে।