AI web scraping - extract data with LLMs instead of CSS selectors - DataImpulse

تجريف الويب بالذكاء الاصطناعي هو استخدام نموذج لغوي كبير لقراءة صفحة واستخراج الحقول التي تريدها، بدلا من كتابة محددات CSS أو XPath هشة تتعطل كلما غيّر موقع ما تخطيطه. ما زلت تجلب الصفحة بالطريقة المعتادة، وما زلت تحتاج إلى بروكسيات للقيام بذلك على نطاق واسع، لكن نموذج LLM يتولى خطوة الاستخراج لأنه يفهم المحتوى، لذا غالبا ما يستمر الكود نفسه في العمل عبر عمليات إعادة التصميم والمواقع المختلفة. يشرح هذا الدليل ماهية تجريف الويب بالذكاء الاصطناعي، ومتى يكون مفيدا، وكيفية تنفيذه خطوة بخطوة في Python.

أنا Andrii Byzov، مدير تسويق جزئي يعمل بالذكاء الاصطناعي ويبني مسارات بيانات الويب. ستجد أدناه الفرق بين تجريف الويب بالذكاء الاصطناعي والتجريف المعتمد على المحددات، ومسار عمل عملي للاستخراج باستخدام LLM، وموضع البروكسيات في العملية، ومتى يكون التجريف التقليدي الخيار الأفضل. وللتعرّف إلى الأدوات، راجع قائمتنا لأفضل أدوات تجريف الويب بالذكاء الاصطناعي.


حقائق أساسية

  • تجريف الويب بالذكاء الاصطناعي = استخراج بواسطة LLM، لا جلب بواسطة LLM. يقرأ النموذج محتوى الصفحة ويعيد بيانات منظمة، بينما تظل أنت من يجلب الصفحة.
  • يتحمل تغييرات التخطيط بدرجة أفضل. في غياب محددات CSS التي يمكن أن تتعطل، يستخرج LLM البيانات بحسب المعنى، لذا يعمل الكود نفسه غالبا عبر إعادة التصميم والمواقع المتشابهة، مع أنك ما زلت تحتاج إلى الاختبارات والتحقق وإعادة المحاولة.
  • يجعله المخطط مع التحقق موثوقا. اطلب بنية JSON محددة وتحقق منها، مثلا باستخدام Pydantic أو JSON Schema. لا يكفي أن يكون JSON صالحا وحده، لذا افحص أنواع الحقول وقيمها أيضا.
  • تظل البروكسيات مهمة لعملية الجلب. لا يتجاوز LLM الحظر، وجمع الصفحات على نطاق واسع يحتاج، كما هو الحال دائما، إلى عناوين IP سكنية متناوبة.
  • التكلفة والنطاق هما المقايضة. تُحسب تكلفة استدعاءات LLM لكل رمز، لذلك يتألق الاستخراج بالذكاء الاصطناعي مع الأهداف الفوضوية أو المتنوعة أو منخفضة الحجم، بينما تكون الصفحات الموحدة كبيرة الحجم أقل تكلفة باستخدام المحددات.

ما هو تجريف الويب بالذكاء الاصطناعي؟

يعثر تجريف الويب التقليدي على البيانات بحسب الموضع: تكتب محددا مثل .price وتستخرج كل ما يوجد هناك. إنه سريع ورخيص، لكنه هش، إذ إن تغيير ترميز الصفحة يعطل المحدد، وكل موقع جديد يحتاج إلى محددات جديدة. تجريف الويب بالذكاء الاصطناعي يقلب هذا النهج: تعطي محتوى الصفحة لنموذج لغوي مع وصف لما تريده، فيعيد البيانات من خلال فهم النص. تختفي طبقة المحددات الهشة والخاصة بكل موقع. وهذه هي جاذبيته بالكامل: المرونة أمام التغيير وتقليل الكود لكل موقع بدرجة كبيرة، ولهذا أصبح تجريف الويب بالذكاء الاصطناعي نهجا مستقلا إلى جانب النهج التقليدي وأدوات التجريف بالذكاء الاصطناعي المبنية عليه.

متى يستحق تجريف الويب بالذكاء الاصطناعي استخدامه؟

  • صفحات فوضوية وغير متسقة، مثل القوائم أو الأدلة أو ملفات PDF ذات البنية المتفاوتة، إذ يوحدها LLM من دون كود مخصص لكل تخطيط.
  • مواقع مختلفة كثيرة، ومخطط واحد، أي استخراج الحقول نفسها من عشرات المصادر حيث لا تكون كتابة محددات لكل منها عملية.
  • تخطيطات تتغير باستمرار، أي أهداف تعيد تصميم صفحاتها كثيرا وتستمر في تعطيل أدوات التجريف المعتمدة على المحددات.
  • حجم أقل، وقيمة أعلى، حيث تبرر قيمة البيانات تكلفة LLM لكل صفحة.

بالنسبة إلى الصفحات الموحدة كبيرة الحجم، أي موقع واحد وملايين القوالب المتطابقة، تظل المحددات التقليدية أرخص وأسرع. تستخدم فرق كثيرة نهجا هجينا: المحددات للجزء الأكبر، والاستخراج بالذكاء الاصطناعي للحالات الطرفية الفوضوية.


كيفية تنفيذ تجريف الويب بالذكاء الاصطناعي في Python

الخطوة 1. اجلب الصفحة ونظفها. اجلب الصفحة عبر بروكسي، ثم أزل البرامج النصية والأنماط والضوضاء كي تزود النموذج بالمعلومات المفيدة، مما يخفض تكلفة الرموز بدرجة كبيرة أيضا.



import requests
from bs4 import BeautifulSoup

HEADERS = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
                         "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"}
# Residential proxies for the FETCH step (the LLM doesn't fetch the page for you).
proxies = {"http":  "http://LOGIN:[email protected]:823",
           "https": "http://LOGIN:[email protected]:823"}

def fetch_clean(url):
    """Get the page and strip it down so you send the model signal, not noise
    (and far fewer tokens)."""
    r = requests.get(url, headers=HEADERS, proxies=proxies, timeout=30)
    r.raise_for_status()
    soup = BeautifulSoup(r.text, "html.parser")
    for tag in soup(["script", "style", "noscript", "svg"]):
        tag.decompose()
    text = soup.get_text(" ", strip=True)
    if len(text) < 200 or "captcha" in text.lower():   # likely a block/empty page
        raise RuntimeError("Got a block/empty page, not real content")
    return text





















الخطوة 2. استخرج البيانات باستخدام LLM وفق مخطط. أرسل المحتوى المنظف إلى نموذج ذي بنية إخراج محددة واطلب JSON فقط. المخطط هو ما يحول النموذج المسهب إلى محلل موثوق، ثم تتحقق من أن النتيجة قابلة للتحليل فعلا.



import json

# Define the structure you want back — the schema is what makes output reliable.
SCHEMA = {"title": "string", "price": "number or null",
          "in_stock": "boolean", "rating": "number or null"}

def extract_with_llm(content, schema):
    """Ask any LLM to return ONLY JSON matching the schema. Plug in your
    provider's client (Claude, GPT, a local model — your choice)."""
    prompt = (f"Extract these fields as JSON, nothing else.\n"
              f"Schema: {json.dumps(schema)}\n\nPage text:\n{content[:8000]}")
    raw = call_your_llm(prompt)          # -> your LLM client returns a string
    return json.loads(raw)               # validate it parses; retry on failure

data = extract_with_llm(fetch_clean("https://example-store.com/product/123"), SCHEMA)
print(data)
















الخطوة 3. تحقق وأعد المحاولة. تعامل مع النموذج على أنه قابل للخطأ: تحقق من الإخراج مقابل مخطط فعلي، باستخدام Pydantic أو JSON Schema، فالتحليل وحده ليس دليلا على الصحة. افحص أنواع الحقول وقيمها، مثل أن يكون السعر رقما والمخزون قيمة منطقية، وأعد إرسال الطلب عند الفشل. الخطوة 4. وسّع النطاق. استخدم التخزين المؤقت بكثافة، وعالج البيانات على دفعات حيثما أمكن، وراقب إنفاق الرموز، فهذا هو عامل التحكم في التكلفة في تجريف الويب بالذكاء الاصطناعي.


هل ما زلت تحتاج إلى بروكسيات لتجريف الويب بالذكاء الاصطناعي؟

غالبا نعم، إذ يتولى LLM الاستخراج لا الوصول. لا يزال جلب الصفحات تجريفا عاديا للويب: تفرض المواقع المستهدفة حدودا للمعدل، وتخصص المحتوى جغرافيا، وترصد عناوين IP الخاصة بمراكز البيانات، لذلك يميل الجمع على نطاق واسع إلى مواجهة العقبات نفسها. ومع ذلك، قد تتيح API أو الخلاصات المرخصة أو الزحف المهذب منخفض الحجم تجنب البروكسيات أحيانا. البروكسيات السكنية توجه خطوة الجلب عبر عناوين IP حقيقية للمستهلكين في السوق المناسبة، من DataImpulse بسعر $1/GB، متناوبة وفي 195 دولة، ما يساعد على الاستهداف الجغرافي ويقلل الحظر من دون ضمان الوصول أو الامتثال. يغير الذكاء الاصطناعي طريقة التحليل، لا طريقة الجمع. راجع أفضل بروكسيات للتجريف بالذكاء الاصطناعي لهذه الطبقة، وأفضل بروكسيات لتجريف الويب للتعرف إلى الأساسيات.

هل تجريف الويب بالذكاء الاصطناعي قانوني؟

لا يغير استخدام LLM لتحليل الصفحات الصورة القانونية، فالجمع يخضع للقواعد نفسها التي يخضع لها أي تجريف، كما أن الإتاحة العامة لا تلغي مسائل حقوق النشر أو العقود أو الخصوصية أو حقوق قواعد البيانات. تعتمد القانونية على الاختصاص القضائي والمصدر ونوع البيانات والاستخدام. فضّل البيانات العامة وغير الشخصية، واتبع شروط كل موقع، وتعامل مع robots.txt بوصفه إشارة إلى سياسة الوصول، ولا تتجاوز تسجيلات الدخول أو ضوابط الوصول، واضبط وتيرة الطلبات. تضيف تغذية نموذج بالمحتوى المجرّف مسألة ثانية، هي مصدر البيانات للتدريب أو الاستخدام اللاحق، لذا حافظ على نظافة المصادر. يكون استخدام البروكسيات للجمع المشروع قانونيا عموما، لكن التحايل على الحظر أو ضوابط الوصول أو الحدود التعاقدية يرفع المخاطر. وللاطلاع على الإطار، راجع مدى قانونية تجريف الويب. هذه معلومات عامة وليست استشارة قانونية.


الأسئلة الشائعة

ما هو تجريف الويب بالذكاء الاصطناعي؟

يستخدم تجريف الويب بالذكاء الاصطناعي نموذجا لغويا كبيرا لاستخراج الحقول التي تريدها من محتوى الصفحة، بدلا من كتابة محددات CSS/XPath التي تتعطل عند تغير التخطيطات. ما زلت تجلب الصفحة، وما زلت تحتاج إلى بروكسيات لذلك، لكن النموذج يتولى التحليل من خلال فهم النص، لذا يعمل الكود نفسه عبر إعادة التصميم والمواقع المختلفة.

بم يختلف تجريف الويب بالذكاء الاصطناعي عن التجريف التقليدي؟

يعثر التجريف التقليدي على البيانات بواسطة محدد (.price) ويتعطل عند تغير ترميز الصفحة، بينما يستخرج التجريف بالذكاء الاصطناعي حسب المعنى، لذا لا توجد طبقة محددات هشة لكل موقع. المقايضة هي التكلفة، إذ تُحسب استدعاءات LLM لكل رمز، ولذلك يناسب الاستخراج بالذكاء الاصطناعي الأهداف الفوضوية أو المتنوعة أو المتغيرة، بينما تظل المحددات أرخص للصفحات الموحدة كبيرة الحجم.

هل ما زلت بحاجة إلى بروكسيات لتجريف الويب بالذكاء الاصطناعي؟

نعم. يحلل LLM المحتوى لكنه لا يجلب الصفحات ولا يتجاوز الحظر. ما زال جمع الصفحات على نطاق واسع يواجه حدود المعدل والتخصيص الجغرافي وإشارات عناوين IP لمراكز البيانات، لذا توجه خطوة الجلب عبر بروكسيات سكنية متناوبة. يغير الذكاء الاصطناعي خطوة التحليل فقط.

كيف أجعل الاستخراج باستخدام LLM موثوقا؟

زوّد النموذج بمخطط محدد واطلب JSON فقط، وأرسل إليه نص الصفحة المنظف، بإزالة البرامج النصية والأنماط لتقليل الضوضاء والرموز، ثم تحقق من أن الإخراج قابل للتحليل وأن أنواع الحقول منطقية، وأعد إرسال الطلب عند الفشل. من دون مخطط وتحقق، لا يمكن الاعتماد على نص النموذج الحر.

هل تجريف الويب بالذكاء الاصطناعي قانوني؟

لا يغير استخدام LLM لتحليل الصفحات القواعد، فالجمع يخضع للقانون نفسه الذي يخضع له أي تجريف، وقد تظل للبيانات العامة تبعات متعلقة بحقوق النشر أو العقود أو الخصوصية، بحسب الاختصاص القضائي والمصدر والاستخدام. فضّل البيانات العامة وغير الشخصية، واحترم شروط المواقع، وتعامل مع robots.txt بوصفه إشارة إلى سياسة الوصول، ولا تتجاوز تسجيلات الدخول، واضبط وتيرة الطلبات. حافظ على وضوح مصدر البيانات إذا كانت ستغذي نموذجا. يكون استخدام البروكسيات للجمع المشروع قانونيا عموما. هذه ليست استشارة قانونية.


الخلاصة

ينقل تجريف الويب بالذكاء الاصطناعي الجزء الهش، وهو التحليل، من المحددات المكتوبة يدويا إلى LLM يقرأ بحسب المعنى، لذا تصمد أداة التجريف أمام تغييرات التخطيط وتعمل عبر المواقع بمخطط واحد. ليس الأمر سحرا أو بلا تكلفة: ما زلت تجلب الصفحات عبر بروكسيات سكنية على نطاق واسع، وما زلت تلتزم بالحدود القانونية، وتقارن تكلفة الرموز بقيمة البيانات، وغالبا ما تدمج الاستخراج بالذكاء الاصطناعي مع المحددات. اضبط طبقة الجلب جيدا، وسيتولى LLM بقية العمل الفوضوي. وللتعرف إلى الأدوات، راجع أدوات تجريف الويب بالذكاء الاصطناعي، ولطبقة البروكسي، راجع أفضل بروكسيات للتجريف بالذكاء الاصطناعي.

آخر تحديث: 26 يونيو 2026.



Share article: