الانتقال إلى المحتوى الرئيسي
POST https://api.acedata.cloud/webextrator/render واجهة API عرض صفحات الويب WebExtrator هي خدمة لعرض صفحات الويب تعتمد على Chromium عديم الرأس. أعطِ عنوان URL، وسيتم إرجاع HTML المعروض بالكامل (بما في ذلك المحتوى المُدرج عبر JS)، والنص الخالص، وعنوان الصفحة، وعنوان URL النهائي. Render هي الواجهة الأساسية الأدنى مستوى في WebExtrator. إذا كنت تحتاج إلى نتائج استخراج مهيكلة (النص الرئيسي للمقالة، أسعار المنتجات، مكونات الوصفات …)، فيُرجى استخدام /webextrator/extract —— فهي تُشغّل مسار استخراج كاملًا ومُصنّف الأنواع على أساس العرض نفسه.

عملية التقديم

لاستخدام صفحة خدمة WebExtrator، انتقل أولًا إلى وحدة تحكم Ace Data Cloud للحصول على API Token الخاص بك، واحتفظ به للاستخدام لاحقًا. إذا لم تقم بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك إلى التسجيل وتسجيل الدخول، وستعود تلقائيًا إلى الصفحة الحالية بعد الإكمال. يمكن لـ API Token واحد استدعاء جميع خدمات المنصة، ولا حاجة إلى التقديم بشكل منفصل لكل خدمة. سيُمنح رصيد مجاني عند أول تقديم، مما يتيح تجربة مجانية؛ وعند عدم كفاية الرصيد، يمكنك إعادة شحن الرصيد العام في وحدة التحكم.
📘 الوثائق الكاملة: صفحة خدمة WebExtrator →

المصادقة

تستخدم جميع واجهات WebExtrator مصادقة Bearer Token القياسية:

معلمات الطلب

يستخدم عقد المنصة بشكل موحّد snake_case. تدعم خدمة العرض الداخلية camelCase، لكن يجب في الاستدعاءات الخارجية دائمًا استخدام snake_case.

الاستجابة المتزامنة

الاستجابة غير المتزامنة

عند async=true (أو توفير callback_url) يتم الإرجاع فورًا (HTTP 200):
سيتم دفع النتيجة عبر POST إلى callback_url (إذا تم تكوينه)، أو عبر /webextrator/tasks للاستعلام النشط.

بنية رد الاتصال

تقوم المنصة بعمل POST لغلاف مطابق تمامًا للوضع المتزامن إلى callback_url، بـ Content-Type: application/json. وتُعد أي استجابة 2xx تأكيدًا؛ أما 5xx فستتم إعادة محاولتها بتراجع أُسّي لمدة تقارب 5 دقائق.

استجابة الخطأ

بنية الخطأ:

أمثلة

cURL

Python (requests)

Node.js (fetch)

غير متزامن + رد اتصال

يُرجع فورًا { "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 }؛ عند اكتمال المهمة، سترسل المنصة النتيجة الكاملة عبر POST إلى callback_url الخاص بك.

فرض تجاوز ذاكرة التخزين المؤقت

تلميحات ومطبات

  • اختيار wait_until الصحيح مهم جدًا. networkidle هو الأكثر استقرارًا لكنه الأبطأ؛ أما domcontentloaded فهو سريع لكنه قد يفوّت المحتوى المُدرج بشكل غير متزامن؛ وload مناسب للصفحات الثابتة التقليدية.
  • يتجاهل مفتاح التخزين المؤقت async. الطلبات المتزامنة وغير المتزامنة لنفس عنوان URL تصيب إدخال التخزين المؤقت نفسه، ولن يؤدي التبديل العشوائي إلى إبطاله.
  • يتجاهل مفتاح التخزين المؤقت bypass_cache وcache_ttl_seconds. هذان مفتاحا تشغيل، ولا يؤثران في محتوى الاستجابة.
  • يقوم cookies وheaders بتقسيم التخزين المؤقت إلى مجموعات. تخصيص هذين سيؤدي إلى فشل التطابق الأول للتركيبة نفسها.
  • غالبًا ما تتجاوز تطبيقات SPA الثقيلة 30 ثانية الافتراضية. يُنصح باستخدام timeout: 60 وwait_until: "domcontentloaded" وdelay: 4، ثم استخدام wait_for_selector وغيرها لانتظار العناصر التي تهمك بالفعل.
  • block_resources هو أسرع طريق لتقليل التأخير. يتم حجب الصور / الخطوط / الوسائط افتراضيًا؛ إذا كان الاستخراج لا يعتمد على تخطيط CSS، فإن إضافة stylesheet ستجعله أسرع أيضًا.