تتولد كميات هائلة من البيانات يوميا على شبكة الإنترنت. تتغير أسعار المنتجات وتظهر إعلانات الوظائف وتختفي بسرعة. بالنسبة للمطورين، السؤال ليس هل نستخرج البيانات، بل كيف. هنا يبرز استخلاص البيانات بالذكاء الاصطناعي كحل حديث وفعال.
كانت الساعة الثامنة من صباح الجمعة في وكالتنا TwiceBox. موعد تسليم لوحة تتبع أسعار المنافسين لعميل قد حان. فتحت الشاشة لأجد قاعدة البيانات فارغة تماما. قام الموقع المستهدف بتغيير بنية صفحاته ليلا. انهار كود BeautifulSoup الذي سهرت أياما في كتابته. لم أملك الوقت لفحص العناصر وإعادة كتابة المحددات.
في تلك اللحظة الحرجة، جربت أداة Spidra. بدلا من تتبع مسارات HTML المعقدة، كتبت وصفا نصيا. طلبت البيانات التي أحتاجها بلغة طبيعية وبسيطة. خلال خمس عشرة دقيقة فقط، تدفقت البيانات صحيحة ومنظمة. أنقذت المشروع ووفرت أكثر من ست ساعات من البرمجة. سلمت العمل للعميل الذي لم يلاحظ أي تأخير.
التمسك بالطرق القديمة مكلف جدا في وقت الأزمات. لهذا بنيت منصة Hcouch Digital للمطور العربي. هدفنا هو تقديم هذه الاختصارات التقنية الحديثة للمحترفين. يجب أن تركز جهدك على بناء القيمة الحقيقية. لا تضيع لياليك في ترقيع الأكواد المكسورة.
- 1 فهم أساسيات استخلاص البيانات التقليدي
- 2 تطبيق عملي لاستخلاص البيانات التقليدي
- 3 ثورة استخلاص البيانات بالذكاء الاصطناعي: المفهوم والآلية
- 4 أدوات استخلاص البيانات بالذكاء الاصطناعي المبتكرة
- 5 تطبيق عملي لاستخلاص البيانات بالذكاء الاصطناعي
- 6 متى تختار استخلاص البيانات التقليدي ومتى تختار الذكاء الاصطناعي؟
- 7 خفض تكاليف واجهات الاستخلاص عبر الدمج الهجين
- 8 خلاصة القول
فهم أساسيات استخلاص البيانات التقليدي

يعتمد الاستخلاص التقليدي على مبدأ بسيط ومباشر للمطورين. إذا كان المتصفح يعرض البيانات، فالبرنامج يمكنه استخراجها.
نحن نوجه الكود للبحث في أماكن محددة جدا. لا يفهم الكود معنى البيانات، بل يعرف موقعها فقط.
1.1 آلية عمل المحددات (Selectors)
تعتبر محددات CSS الخيار الأول لأغلب المطورين اليوم. نستخدمها للبحث عن عناصر محددة داخل هيكل الصفحة. مثلا، محدد الفئة يجلب السعر من بطاقة المنتج بسهولة.
نكتب الكود هكذا .product-card .price ليصل للبيانات المطلوبة. هذه الطريقة سهلة الفهم وتعمل بكفاءة عالية نسبيا. لكن في بعض الأحيان تصبح بنية الصفحة معقدة جدا.
هنا نلجأ إلى استخدام مسارات XPath القوية والمتقدمة. تسمح لك XPath بالتنقل صعودا وهبوطا في شجرة DOM. يمكنك تصفية العناصر بناء على النصوص أو الخصائص المخفية.
غالبا ما نبدأ بالسهل وننتقل للمعقد عند الضرورة.
1.2 أدوات استخلاص البيانات التقليدية
تطورت بيئة أدوات قوية لدعم هذا النهج التقليدي. مكتبة Requests هي المعيار في بايثون لجلب الصفحات. نستخدمها لإرسال طلبات HTTP واستلام ردود HTML الخام.
بعد ذلك، نمرر الرد إلى مكتبة BeautifulSoup الشهيرة. تقوم هذه المكتبة بتحليل النص وبناء شجرة عناصر. إنها سريعة وممتازة للتعامل مع المواقع الثابتة والبسيطة.
لكنها لا تستطيع تشغيل أوامر جافا سكريبت المعقدة. للتعامل مع المواقع الديناميكية، نحتاج أدوات أكثر تقدما. نستخدم Selenium أو Playwright للتحكم في متصفح حقيقي.
هذه الأدوات تنتظر تحميل البيانات قبل بدء الاستخلاص.
1.3 تحديات الاعتماد على الهيكل الثابت
هذا النهج يعمل جيدا ولكنه هش للغاية دائما. يعتمد كليا على بقاء هيكل HTML ثابتا دون تغيير. إذا قام المطور بتغيير اسم فئة، ينهار السكربت.
قد لا تحصل على أي خطأ برمجي واضح. بدلا من ذلك، تجمع بيانات فارغة أو غير صحيحة. تكتشف المشكلة عادة بعد فشل تحديث قاعدة البيانات.
في أحد المشاريع، تغير وسم السعر من فقرة لقسم. توقف جمع البيانات لأسبوع كامل دون أن نلاحظ. الصيانة المستمرة لهذه السكربتات تستهلك وقت التطوير الثمين.
هذا الضعف الهيكلي يدفعنا لفحص كيفية بناء هذه السكربتات خطوة بخطوة أولاً.
تطبيق عملي لاستخلاص البيانات التقليدي
2.1 فحص هيكل الصفحة المستهدفة
قبل كتابة أي كود، يجب فحص الصفحة المستهدفة. افتح الموقع في متصفحك واستخدم أدوات المطور المدمجة. انقر بزر الماوس الأيمن على العنصر واختر الفحص.
ستلاحظ أن كل عنصر يمتلك بنية هيكلية محددة. العنوان يكون داخل وسم معين، والسعر في وسم آخر. هذا هو العمل البوليسي الأساسي في مجال الاستخلاص.
نبحث عن الأنماط المتكررة في تصميم الصفحة. نحدد الفئات البرمجية التي تميز البيانات التي نحتاجها. كتابة وقراءة هذه الأكواد تتطلب بيئة مريحة وواضحة.
لهذا أعتمد دائماً على أفضل خطوط البرمجة لتجنب إرهاق العين.
2.2 كتابة كود الاستخلاص الأساسي
نبدأ باستيراد المكتبات الأساسية لجلب وتحليل البيانات. نرسل طلبا إلى الموقع ونتأكد من نجاحه أولا.
import requests
from bs4 import BeautifulSoup
# جلب الصفحة المستهدفة
url = "https://books.toscrape.com/"
response = requests.get(url)
# تحليل المحتوى وبناء الشجرة
soup = BeautifulSoup(response.content, "html.parser")
books = soup.select("article.product_pod")
بعد ذلك، نمر على كل عنصر ونستخرج تفاصيله. نبحث عن العنوان والسعر بناء على المحددات التي فحصناها. نجمع هذه البيانات في قائمة لعرضها أو حفظها.
يجب معالجة النصوص لإزالة المسافات الفارغة والرموز الزائدة.
2.3 توسيع الاستخلاص ليشمل صفحات متعددة
استخلاص صفحة واحدة نادرا ما يكون كافيا للمشاريع. لتوسيع النطاق، نحتاج إلى تتبع زر الصفحة التالية. نكتب حلقة تكرارية تفحص وجود الرابط وتنتقل إليه.
في كل صفحة جديدة، نعيد نفس عملية التحليل. نستخرج البيانات ونضيفها إلى القائمة الرئيسية في الذاكرة. هذه العملية تتطلب إدارة دقيقة للروابط لتجنب الأخطاء.
نضيف فترات توقف قصيرة بين الطلبات لتجنب الحظر. استخراج آلاف الصفحات بهذه الطريقة يستهلك وقتا طويلا.
لكن ماذا لو تغير اسم الفئة البرمجية فجأة؟ هنا يبرز دور التقنيات الحديثة كبديل جذري.
ثورة استخلاص البيانات بالذكاء الاصطناعي: المفهوم والآلية

يعالج الذكاء الاصطناعي نفس المشكلة بطريقة مختلفة تماما. بدلا من الاعتماد على الهيكل، يركز على المحتوى.
أنت لا تخبر النظام بمكان البيانات. بل تصف له شكل البيانات التي تريدها ببساطة.
3.1 فهم المحتوى بدلاً من الهيكل
في الاستخلاص التقليدي، نكتب مسارات دقيقة وصارمة جدا. إذا تغير المسار، تفشل العملية بأكملها فورا وبصمت. الذكاء الاصطناعي يقرأ الصفحة كما يفعل الإنسان العادي.
يتعرف على بطاقة المنتج من خلال مكوناتها المنطقية. يدرك أن هذا الرقم هو السعر وهذا النص هو العنوان. التغييرات في تصميم الموقع لا تؤثر على فهمه.
هذا التحول الجذري في طريقة التفكير مفصل بعمق في مقارنة أساليب استخلاص البيانات التي تشرح الفروق التقنية.
نحن ننتقل من البرمجة الحتمية إلى التوجيه الدلالي.
3.2 دور نماذج اللغة الكبيرة (LLMs)
تعمل نماذج اللغة الكبيرة كعقل مدبر لهذه العملية. تم تدريبها على كميات هائلة من نصوص الويب. هي تعرف مسبقا كيف تبدو إعلانات الوظائف والمنتجات.
عندما نعطيها صفحة جديدة، تتعرف على الأنماط فورا. تربط هذه الأنماط بالحقول التي طلبناها في الوصف النصي. لا تحتاج هذه النماذج إلى قواعد صارمة لتعمل.
تقوم بتحويل البيانات العشوائية إلى مخرجات مهيكلة ونظيفة. تتعامل مع اللغات المختلفة وتفهم السياق بشكل ممتاز.
يجب فقط الحذر من الهلوسة في بعض الحالات النادرة.
3.3 الجمع بين الذكاء الاصطناعي وأتمتة المتصفح
الذكاء الاصطناعي وحده لا يكفي لتشغيل العملية كاملة. نحتاج إلى أدوات لتحميل الصفحات والتفاعل معها أولا. هنا يأتي دور المتصفحات المخفية مثل Playwright.
تتكفل هذه الأدوات بتشغيل جافا سكريبت وتجاوز عقبات التحميل. بعد ظهور البيانات، يتدخل الذكاء الاصطناعي لاستخلاصها فورا. هذا المزيج يوفر حلا قويا للمواقع المعقدة والمحمية.
نبرمج المتصفح لتمرير الصفحة للأسفل لضمان تحميل الصور. ندمج هذه الخطوات مع قدرات التحليل اللغوي للنموذج.
لفهم هذه الآلية بشكل أفضل، يجب أن نتعرف على المنصات التي حولت هذا المفهوم إلى واقع.
أدوات استخلاص البيانات بالذكاء الاصطناعي المبتكرة
4.1 Spidra: الاستخلاص بالوصف النصي
تقدم Spidra نهجا مباشرا وسريعا لاستخلاص البيانات المعقدة. أنت تصف البيانات المطلوبة بلغة طبيعية وواضحة جدا. تتولى الأداة تحميل الصفحة وتفسير المحتوى بالكامل.
تدير أيضا التفاعلات المعقدة خلف الكواليس دون تدخل منك. هذا يجعلها مثالية للمطورين الذين يكرهون صيانة المحددات. يمكنك التركيز على استخدام البيانات بدلا من جمعها.
استخدمتها مؤخرا لسحب بيانات موردين من موقع صيني. تجاوزت عقبات اللغة وتغير التصميم بفضل الوصف الدقيق.
4.2 Firecrawl: تحويل الصفحات إلى محتوى منظم
تركز Firecrawl على تنظيف محتوى الويب بالكامل للمطورين. لا تبحث عن حقول محددة كالسعر أو العنوان. بل تحول الصفحة بأكملها إلى صيغة Markdown نظيفة.
هذه الأداة ممتازة لتغذية أنظمة الذكاء الاصطناعي بالبيانات. تزيل كل التشويش البصري وقوائم التصفح غير المهمة. تحصل على محتوى نقي جاهز للتحليل الفوري.
أستخدمها لبناء قواعد معرفية لتطبيقات المحادثة الآلية. توفر ساعات من تنظيف نصوص HTML المليئة بالشوائب.
4.3 Bright Data و Apify: حلول متكاملة
تجمع Bright Data بين البنية التحتية القوية والذكاء الاصطناعي. تتيح لك استخلاص البيانات دون كتابة محددات معقدة. تتعامل بكفاءة مع الحظر وتوسيع نطاق العمليات الضخمة.
أما Apify، فتوفر منصة مرنة لبناء السكربتات المخصصة. يمكنك دمج الذكاء الاصطناعي في أي مرحلة من مشروعك. تناسب هذه المنصات المشاريع الضخمة والمهام المؤسسية المعقدة.
تقدم واجهات جاهزة للتعامل مع منصات التواصل الاجتماعي.
الحديث النظري عن هذه المنصات لا يكفي، لذا دعونا نكتب كوداً حقيقياً يثبت كفاءتها.
تطبيق عملي لاستخلاص البيانات بالذكاء الاصطناعي

5.1 إعداد طلب الاستخلاص عبر API
سنستخدم واجهة Spidra لاستخلاص بيانات الكتب بسهولة تامة. نحتاج فقط إلى إرسال طلب يحتوي على الرابط والوصف. لا حاجة لمكتبات تحليل HTML أو محددات معقدة.
import requests
import json
# تجهيز البيانات المطلوبة للواجهة
payload = {
"urls": [{"url": "https://books.toscrape.com/"}],
"prompt": "استخرج عناوين الكتب، السعر، والتقييم كرقم.",
"output": "json"
}
نرسل هذا الطلب إلى الخادم مع مفتاح المصادقة. النظام سيتولى تحميل الصفحة وتحليلها وإعادة البيانات.
5.2 فهم المخرجات المنظمة
تعيد واجهة برمجة التطبيقات استجابة بتنسيق JSON مهيكل. كل كتاب يمثل كائنا يحتوي على الحقول المطلوبة. النظام ذكي بما يكفي لفهم التقييمات النصية المعقدة.
يحول التقييم المكتوب ككلمة إلى رقم تلقائيا وبدقة. لم نضطر لكتابة قاموس تحويل كما فعلنا سابقا. هذا يوفر الكثير من وقت معالجة البيانات لاحقا.
البيانات الناتجة نظيفة وجاهزة للإدراج في قاعدة البيانات. يمكننا تمرير مخطط JSON لفرض أنواع بيانات محددة.
5.3 استخدام الإجراءات (Actions) للمهام المعقدة
تظهر القوة الحقيقية هنا عند التعامل مع مهام متعددة. في الاستخلاص التقليدي، تتبع الروابط يتطلب كودا طويلا. مع الذكاء الاصطناعي، نستخدم إجراءات تحاكي سلوك المستخدم.
نخبر النظام بالنقر على كل كتاب واستخراج وصفه. يقوم النظام بفتح الصفحات الفرعية وجمع التفاصيل الإضافية. يعيد كل هذه البيانات في استجابة واحدة متكاملة.
يمكننا برمجة النظام لملء استمارات البحث قبل الاستخلاص.
رغم هذه السهولة الفائقة، يبقى السؤال الأهم هو متى نستخدم كل تقنية لضمان أفضل نتيجة.
متى تختار استخلاص البيانات التقليدي ومتى تختار الذكاء الاصطناعي؟
6.1 المواقع المستقرة مقابل المتغيرة
الاستخلاص التقليدي هو الخيار الأفضل للمواقع المستقرة دائما. إذا كان الموقع لا يغير تصميمه، فالمحددات ستعمل بكفاءة. هي أسرع في التنفيذ وأقل تكلفة من واجهات الذكاء.
أما المواقع التي تغير بنيتها باستمرار، فتتطلب نهجا ذكيا. الذكاء الاصطناعي يتجاهل التغييرات الهيكلية ويركز على المحتوى. هذا يقلل من أعطال النظام المفاجئة بشكل كبير جدا.
لا نستخدم الذكاء الاصطناعي لموقع حكومي ثابت التصميم. نستخدمه لمتاجر إلكترونية تحدث واجهاتها أسبوعيا.
6.2 النماذج الأولية السريعة مقابل التحكم الدقيق
لبناء نموذج أولي سريع، الذكاء الاصطناعي لا يعلى عليه. يمكنك جمع البيانات في دقائق بكتابة وصف نصي بسيط. لا تضيع وقتك في فحص العناصر وتجربة مساراتها.
ولكن إذا كنت تحتاج إلى تحكم دقيق وشفافية كاملة. فالطرق التقليدية تمنحك القدرة على تتبع كل خطوة. تعرف بالضبط لماذا فشل الكود وأين تكمن المشكلة.
الذكاء الاصطناعي قد يكون صندوقا أسود في بعض الأحيان.
6.3 التعامل مع البيانات غير المتناسقة والمهام المعقدة
البيانات العشوائية وغير المتناسقة تشكل كابوسا للطرق التقليدية. كتابة قواعد تغطي كل الاستثناءات أمر شبه مستحيل عمليا. الذكاء الاصطناعي يتفهم السياق ويتعامل مع الشذوذ بمرونة.
في المهام التي تتطلب تسجيل الدخول وتجاوز اختبارات التحقق. توفر منصات الذكاء الاصطناعي حلولا مدمجة وجاهزة للاستخدام. هذا يوفر أسابيع من برمجة حلول مخصصة ومعقدة.
هذا التوازن يقودني إلى درس قاسٍ تعلمته بعد سنوات من استنزاف ميزانيات المشاريع.
خفض تكاليف واجهات الاستخلاص عبر الدمج الهجين
عملت على مشروع ضخم يتطلب سحب بيانات آلاف المنتجات. في البداية، اعتمدت كليا على واجهات استخلاص البيانات بالذكاء الاصطناعي. كانت النتيجة مذهلة من حيث دقة البيانات وسرعة الإنجاز.
لكن فاتورة الاستخدام في نهاية الشهر كانت صادمة للغاية. كل صفحة يتم تحليلها بالذكاء الاصطناعي تستهلك رصيدا ماليا. هنا أدركت أن استخدام هذه الواجهات لكل شيء خطأ.
طورت استراتيجية هجينة تعتمد على دمج الطريقتين معا بذكاء. أستخدم مكتبة Scrapy التقليدية للتنقل السريع بين روابط الموقع. هذه العملية مجانية تماما وتعمل بسرعة البرق.
أقوم بجمع روابط المنتجات وحفظها في قاعدة البيانات أولا. لا أستخدم أي واجهة ذكية في هذه المرحلة البسيطة.
عندما أصل إلى صفحة المنتج المعقدة والديناميكية. أقوم بعزل الجزء الذي يحتوي على البيانات غير المهيكلة. أرسل هذا الجزء الصغير فقط إلى واجهة Spidra.
هذا التكتيك البسيط خفض تكاليف الواجهة بنسبة ثمانين بالمائة. حافظت على دقة البيانات العالية ومرونة النظام ضد التغييرات. لا تستخدم الذكاء الاصطناعي للتنقل، استخدمه فقط للفهم.
خلاصة القول
لن يختفي الاستخلاص التقليدي، بل تتغير طريقة توظيفنا له. الطرق القديمة تخبر النظام بمكان تواجد البيانات بدقة. بينما الذكاء الاصطناعي يخبر النظام بمعنى هذه البيانات ومحتواها.
الجمع بين الطريقتين هو الحل الأمثل للمشاريع الإنتاجية الكبيرة. ابدأ اليوم بتجربة أداة ذكية في مشروعك القادم لتقييمها.
ما هي الأداة التي تعتمد عليها حالياً لاستخلاص البيانات، وهل أنت مستعد للتخلي عن محددات CSS لصالح التوجيه النصي؟
اكتشاف المزيد من أشكوش ديجيتال
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.



