Crawlee هي مكتبة لاستخلاص بيانات الويب وأتمتة المتصفح مصممة خصيصًا لـ Python، وتستخدم لبناء برامج زحف موثوقة. يمكنها استخراج البيانات لتطبيقات الذكاء الاصطناعي، ونماذج اللغات الكبيرة (LLM)، والاسترجاع المعزز بالجيل (RAG) أو تطبيقات GPT، وتنزيل ملفات HTML و PDF و JPG و PNG وغيرها من الملفات من مواقع الويب. تم تطوير هذا المشروع بواسطة شركة Apify، وهو مكتبة استخلاص بيانات الويب مفتوحة المصدر الخاصة بها، مبنية على BeautifulSoup و Playwright، وتعتمد على نهج شامل لاستخلاص بيانات الويب.
# التبعيات الرئيسية
- BeautifulSoup: تحليل HTML ثابت
- Playwright: معالجة صفحات عرض JavaScript الديناميكية
- عميل HTTP: دعم طلبات HTTP الأصلية
من بين خياري Python الرئيسيين مفتوحي المصدر Scrapy و Crawlee، اختارت Apify الأخير، معتقدة أن المبتدئين سيفضلونه لأنه يسمح بإنشاء برامج زحف بأقل قدر من التعليمات البرمجية ووقت قراءة أقل.
pip install crawlee
from crawlee import BeautifulSoupCrawler
# إنشاء مثيل الزاحف
crawler = BeautifulSoupCrawler()
# تحديد معالج الطلبات
@crawler.router.default_handler
async def handler(context):
# استخراج البيانات
data = {
'title': context.soup.find('title').get_text(),
'url': context.request.url
}
# حفظ البيانات
await context.push_data(data)
# تشغيل الزاحف
await crawler.run(['https://example.com'])
# تكوين تدوير الوكيل
crawler = BeautifulSoupCrawler(
proxy_configuration={
'proxy_urls': ['http://proxy1:8000', 'http://proxy2:8000']
}
)
# تكوين إعادة المحاولة التلقائية
crawler = BeautifulSoupCrawler(
max_requests_per_crawl=1000,
request_timeout=30,
retry_on_blocked=True
)
Crawlee Python هي مكتبة حديثة وقوية لاستخلاص بيانات الويب، وهي مناسبة بشكل خاص للسيناريوهات التي تتطلب جمع البيانات لتطبيقات الذكاء الاصطناعي. فهو يجمع بين مزايا تقنيات الزحف المتعددة الناضجة، ويوفر واجهة برمجة تطبيقات (API) موجزة ووظائف قوية، وهو خيار ممتاز لمطوري Python لاستخلاص بيانات الويب. سواء كان استخراج بيانات بسيطًا أو مهام أتمتة متصفح معقدة، يمكن لـ Crawlee توفير حلول موثوقة.