استخرج أي بيانات من صفحة ويب
أداة الاستخراج بالذكاء الاصطناعي تقرأ صفحة ويب وتستخرج البيانات التي تصفها بجملة عادية، دون حاجة لمعرفة محددات CSS أو بنية الصفحة التقنية. تفهم السياق وتتكيف مع تصاميم مختلفة لصفحات من مواقع متعددة تلقائيًا، فتناسب من يجمع بيانات متشابهة من مصادر لا تشترك في أي قالب موحد.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
كيف تصف طلبك للأداة
بدل كتابة محدد تقني، تكتب طلبك بجملة عادية مثل استخرج اسم المنتج وسعره وحالة توفره، وتفهم الأداة القصد وتبحث عن هذه المعلومات في محتوى الصفحة أينما وُجدت. هذا يناسب من لا يعرف محددات CSS، أو يحتاج استخراج نفس نوع البيانات من مواقع متعددة مختلفة التصميم بطلب واحد قابل لإعادة الاستخدام على أي صفحة مشابهة لاحقًا دون تعديل الوصف نفسه ولو مرة واحدة.
متى تختارها بدل محدد CSS
حين تختلف بنية كل صفحة عن الأخرى — كصفحات منتجات من عشرات متاجر مختلفة — يفشل محدد CSS الواحد لأنه مبني لبنية محددة فقط. الاستخراج بالذكاء الاصطناعي يفهم المعنى لا الموضع، فيجد السعر أينما ظهر في الصفحة بغض النظر عن اسم الصنف أو ترتيب العناصر المستخدم في كل موقع على حدة، وهذا ما يعجز عنه أي محدد ثابت واحد مهما كان دقيقًا.
دقة النتيجة وتنبيه أمانة
الاستخراج يعتمد على فهم الذكاء الاصطناعي لمحتوى الصفحة، وقد يخطئ أحيانًا في صفحة غامضة التصميم أو تعتمد كليًا على الصور دون نص واضح. للاستخدام في عملية آلية بلا رقابة بشرية، يُستحسن مراجعة عيّنة من النتائج أولًا قبل الاعتماد الكامل عليها في قرار تجاري يتوقف عليه مبلغ مالي أو التزام مع طرف آخر، فالمراجعة البشرية السريعة تقي من خطأ مكلف لاحقًا.
السعر
نحو $0.0605 للصفحة الواحدة، وهي $0.046 للطلب زائد $0.0145 للرابط، أعلى من الاستخراج بمحدد CSS لأنها تعتمد معالجة ذكاء اصطناعي فعلية لكل صفحة. تعمل من هذه الصفحة مباشرة أو عبر الـAPI لأتمتة عشرات الصفحات دفعة واحدة ضمن مهمة جمع بيانات أكبر تحتاج تكرارًا منتظمًا لاحقًا كل أسبوع أو شهر حسب الحاجة. هذا يسهّل تخطيط ميزانية جمع البيانات مسبقًا بدقة معقولة.
حالات الاستخدام
تاجر يجمع بيانات منتجات من موردين مختلفين
يستخرج تاجر تجزئة اسم وسعر ومواصفات منتج واحد من خمسة مواقع موردين مختلفة التصميم، بنفس الوصف النصي لكل صفحة دون تعديل محدد تقني.
باحث سوق يقارن ميزات منتجات منافسة
تصف شركة الواحة للتجارة المحدودة للأداة الميزات التي تريد مقارنتها بين ثلاثة منتجات منافسة، فتستخرجها من صفحات لا تشترك في أي تصميم موحد.
فريق توظيف يجمع تفاصيل إعلانات وظائف
يستخرج فريق موارد بشرية عنوان الوظيفة والراتب المعلن ومكان العمل من إعلانات وظائف على مواقع مختلفة، بوصف واحد يفهمه الذكاء الاصطناعي رغم اختلاف كل موقع.
الأسئلة الشائعة
كيف أصوغ طلب الاستخراج للحصول على أفضل نتيجة؟
صف الحقول التي تريدها بوضوح وبأسماء دقيقة، مثل اسم المنتج والسعر بالريال وحالة التوفر، بدل وصف عام غامض.
هل تعمل مع أي متجر أو موقع؟
تعمل مع أغلب الصفحات ذات المحتوى النصي الواضح؛ صفحات تعتمد كليًا على الصور دون نص قد تُنتج نتيجة أضعف.
ماذا لو أخطأت الأداة في حقل معين؟
يحدث أحيانًا في صفحات غامضة التصميم؛ يُستحسن مراجعة عيّنة من النتائج قبل الاعتماد الكامل عليها في عملية آلية دون رقابة بشرية.
لماذا هذه الأداة أغلى من الاستخراج بمحدد CSS؟
لأنها تشغّل معالجة ذكاء اصطناعي فعلية لفهم كل صفحة، بخلاف المحدد الثابت الذي لا يحتاج هذا الفهم.
هل تُحفظ الصفحة بعد الاستخراج؟
لا، تُقرأ الصفحة لإنتاج النتيجة فقط ثم تُحذف دون الاحتفاظ بأي نسخة من محتواها.
بأي صيغة تصلني النتيجة؟
بصيغة JSON منظمة تحتوي كل حقل طلبته على حدة، جاهزة للاستيراد المباشر إلى جدول بيانات.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/scrape-ai \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/scrape-ai", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/scrape-ai",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/scrape-ai", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/scrape-ai", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"url": "https://ejemplo.com"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.scrape_ai",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
timeout_sec | 30 |
max_crawl_pages | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |