بيانات JSON بالحقول نفسها من كل صفحة
أداة الاستخراج بمخطط JSON تقرأ صفحة ويب وتعيد بياناتها ملتزمة بمخطط حقول ثابت تحدده مسبقًا، بدل ترك الذكاء الاصطناعي يختار الحقول بنفسه في كل مرة. تضمن نفس بنية النتيجة تمامًا من كل صفحة تعالجها، وهو أساسي لأي نظام آلي يستورد البيانات مباشرة دون مراجعة بشرية.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
الفرق بينها وبين الاستخراج بالوصف الحر
أداة الاستخراج بالذكاء الاصطناعي تفهم طلبك النصي وتقرر بنفسها شكل النتيجة؛ بينما تفرض هذه الأداة مخطط حقول ثابت مسبقًا — اسم، سعر، توفر — فتصل كل صفحة بنفس بنية JSON تمامًا. هذا أساسي لمن يغذي نظامًا آليًا لا يتحمّل بنية متغيرة من طلب لآخر، ويحتاج ضمانًا صارمًا بأن كل حقل سيظهر في مكانه المتوقع دائمًا مهما تغيّرت الصفحة المصدر أو اختلف تصميمها الأصلي.
كيف تحدد المخطط
تحدد أسماء الحقول ونوع كل حقل — نص، رقم، أو قيمة منطقية — مرة واحدة قبل التشغيل، وتلتزم الأداة بهذا المخطط تمامًا لكل صفحة تُرسلها لاحقًا. إن لم تجد الأداة قيمة لحقل معين في صفحة محددة، تعيده فارغًا لا أن تحذفه من بنية النتيجة، فتبقى البنية ثابتة دائمًا مهما اختلف محتوى كل صفحة عن الأخرى أو غاب حقل بعينه منها.
لماذا الثبات مهم في التشغيل الآلي
نظام يستورد بيانات آليًا إلى قاعدة بيانات أو جدول يحتاج بنية متوقعة تمامًا في كل مرة، وأي حقل مفقود أو مُعاد تسميته يكسر عملية الاستيراد بالكامل. هذه الأداة تضمن أن الحقل السعر مثلًا يظهر بنفس الاسم في كل استجابة، بغض النظر عن تصميم الصفحة المصدر أو محتواها الفعلي، فلا يحتاج النظام المستقبِل أي منطق استثناء إضافي للتعامل مع بنية متغيرة.
السعر
نحو $0.0605 للصفحة الواحدة، وهي $0.046 للطلب زائد $0.0145 للرابط، مثل الاستخراج بالوصف الحر لأنها تعتمد نفس معالجة الذكاء الاصطناعي مضافًا إليها التزام المخطط. تعمل عبر هذه الصفحة أو الـAPI لأتمتة استيراد بيانات مئات الصفحات دون تدخل يدوي في كل مرة، بمخطط واحد يُعرَّف مرة ويُعاد استخدامه دائمًا على أي عدد من الصفحات لاحقًا دون تعديل إضافي أو إعادة ضبط.
حالات الاستخدام
بناء كتالوج منتجات موحد من مصادر متعددة
يبني فريق تقني كتالوج منتجات موحدًا من عشرات صفحات موردين مختلفين، بمخطط JSON واحد يضمن نفس الحقول لكل منتج بغض النظر عن مصدره.
استيراد بيانات وظائف إلى نظام توظيف داخلي
يستورد فريق موارد بشرية إعلانات وظائف من مواقع متعددة إلى نظامه الداخلي، بمخطط ثابت يضمن توافق كل حقل مع أعمدة قاعدة بياناته دون تعديل يدوي.
مقارنة أسعار منظمة عبر جدول واحد
تبني شركة الخليج الرقمية جدول مقارنة أسعار منظمًا من عشرين صفحة منتج منافسة، بحقول ثابتة تسهّل الفرز والتصفية في جدول بيانات واحد.
الأسئلة الشائعة
ما الفرق بين هذه الأداة وأداة الاستخراج بالذكاء الاصطناعي العادية؟
هذه تفرض مخطط حقول ثابتًا مسبقًا لضمان نفس بنية النتيجة من كل صفحة؛ الأداة الأخرى تترك الذكاء الاصطناعي يحدد بنية النتيجة بحرية أكبر.
ماذا يحدث إن لم توجد قيمة لحقل في صفحة معينة؟
يعود الحقل فارغًا في النتيجة بدل حذفه، فتبقى بنية JSON ثابتة تمامًا في كل استجابة.
هل يمكن تعديل المخطط لاحقًا؟
نعم، يمكن تحديث الحقول المطلوبة في أي طلب جديد؛ كل طلب مستقل بمخططه الخاص.
هل تُحفظ الصفحة بعد الاستخراج؟
لا، تُقرأ الصفحة لإنتاج النتيجة فقط ثم تُحذف دون الاحتفاظ بأي نسخة من محتواها.
كم تكلفة استخراج بيانات منظمة من ثلاثين صفحة؟
نحو $1.815، بواقع $0.0605 للصفحة الواحدة تقريبًا.
هل أحتاج معرفة برمجية لتحديد المخطط؟
معرفة أساسية بأنواع البيانات — نص ورقم وقيمة منطقية — تكفي؛ لا حاجة لخبرة برمجة متقدمة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/scrape-schema \
-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-schema", {
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-schema",
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-schema", 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-schema", 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_schema",
"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 | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |