প্রকল্প সম্পর্কে
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 এরও বেশি স্টার রয়েছে এবং নিয়মিত রিলিজের মাধ্যমে সিকিউরিটি সক্রিয়ভাবে রক্ষা করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.