بيانات JSON بالحقول نفسها من كل صفحة
حدّد الشكل الدقيق الذي تحتاجه، بالبيانات الإلزامية وأنواع القيم والقوائم المتداخلة، واحصل على بيانات الصفحة بعد مطابقتها معه: يصل المنتج وسعر كل نسخة منه ومقاسها في مكانهما. مصمم للبيانات التي تغذي قاعدة بيانات. تدفع مقابل الاستخدام دون اشتراك.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
تضمن نفس بنية النتيجة تمامًا من كل صفحة تعالجها، وهو أساسي لأي نظام آلي يستورد البيانات مباشرة دون مراجعة بشرية.
حين يجب أن تناسب البيانات المستخرجة نظامًا
الاستخراج لمرة واحدة يحتمل نتائج غير منضبطة. لكن ما إن تبدأ البيانات في تغذية عمود في قاعدة بيانات أو عملية استيراد أو برنامج آخر حتى يتغير الأمر. فالسعر الذي يصل نصًا بينما تتوقع القاعدة رقمًا، أو المعلومة الغائبة التي يفترض البرنامج وجودها، من الأعطال التي لا تظهر إلا بعد وقت طويل وبعيدًا عن مصدرها. هنا تصف الشكل الدقيق الذي تحتاجه قبل أي قراءة: ما البيانات الإلزامية، ونوع كل قيمة، والقيم المسموح بها، وكيف تتداخل المجموعات.
يُتحقق منه قبل أن يصلك
تُجلب الصفحة وتُقرأ وهذه البنية هدفها، ثم تُطابَق النتيجة مع البنية نفسها قبل التسليم. فما يصل إلى نظامك يوافق ما كتبته تمامًا، وتتوقف النتيجة المشوهة عند خطوة الاستخراج بدل اكتشافها داخل قاعدة بياناتك. وتخرج البيانات المتداخلة دفعة واحدة: منتج بقائمة نسخه، لكل منها سعر ومقاس، يصل شجرة كاملة سبق التحقق منها. ويمكنك أيضًا إضافة تعليمات إضافية توجّه طريقة قراءة الصفحة.
كيف تحدد المخطط
تحدد أسماء الحقول ونوع كل حقل — نص، رقم، أو قيمة منطقية — مرة واحدة قبل التشغيل، وتلتزم الأداة بهذا المخطط تمامًا لكل صفحة تُرسلها لاحقًا. إن لم تجد الأداة قيمة لحقل معين في صفحة محددة، تعيده فارغًا لا أن تحذفه من بنية النتيجة، فتبقى البنية ثابتة دائمًا مهما اختلف محتوى كل صفحة عن الأخرى أو غاب حقل بعينه منها.
لماذا الثبات مهم في التشغيل الآلي
نظام يستورد بيانات آليًا إلى قاعدة بيانات أو جدول يحتاج بنية متوقعة تمامًا في كل مرة، وأي حقل مفقود أو مُعاد تسميته يكسر عملية الاستيراد بالكامل. هذه الأداة تضمن أن الحقل السعر مثلًا يظهر بنفس الاسم في كل استجابة، بغض النظر عن تصميم الصفحة المصدر أو محتواها الفعلي، فلا يحتاج النظام المستقبِل أي منطق استثناء إضافي للتعامل مع بنية متغيرة.
حالات الاستخدام
استيراد بيانات وظائف إلى نظام توظيف داخلي
يستورد فريق موارد بشرية إعلانات وظائف من مواقع متعددة إلى نظامه الداخلي، بمخطط ثابت يضمن توافق كل حقل مع أعمدة قاعدة بياناته دون تعديل يدوي.
مقارنة أسعار منظمة عبر جدول واحد
تبني شركة الخليج الرقمية جدول مقارنة أسعار منظمًا من عشرين صفحة منتج منافسة، بحقول ثابتة تسهّل الفرز والتصفية في جدول بيانات واحد.
الأسئلة الشائعة
ما الفرق بين هذه الأداة وأداة الاستخراج بالذكاء الاصطناعي العادية؟
هذه تفرض مخطط حقول ثابتًا مسبقًا لضمان نفس بنية النتيجة من كل صفحة؛ الأداة الأخرى تترك الذكاء الاصطناعي يحدد بنية النتيجة بحرية أكبر.
هل يمكن تعديل المخطط لاحقًا؟
نعم، يمكن تحديث الحقول المطلوبة في أي طلب جديد؛ كل طلب مستقل بمخططه الخاص.
هل تُحفظ الصفحة بعد الاستخراج؟
لا، تُقرأ الصفحة لإنتاج النتيجة فقط ثم تُحذف دون الاحتفاظ بأي نسخة من محتواها.
هل أحتاج معرفة برمجية لتحديد المخطط؟
معرفة أساسية بأنواع البيانات — نص ورقم وقيمة منطقية — تكفي؛ لا حاجة لخبرة برمجة متقدمة.
هل تأتي كل نتيجة مطابقة للبنية التي حددتها؟
نعم. تُطابَق النتيجة مع البنية نفسها التي قدمتها قبل تسليمها، فيصلك ما يوافق الاتفاق الذي كتبته لا شيء قريب منه فقط، وتُوقف أي نتيجة مشوهة في هذه المرحلة قبل أن تدخل نظامك.
أدوات ذات صلة
للمطوّرين — الوصول عبر 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://example.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://example.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://example.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://example.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.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://example.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 | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |
ملاحظات تقنية
أداة الاستخراج بمخطط JSON تقرأ صفحة ويب وتعيد بياناتها ملتزمة بمخطط حقول ثابت تحدده مسبقًا، بدل ترك الذكاء الاصطناعي يختار الحقول بنفسه في كل مرة.
الفرق بينها وبين الاستخراج بالوصف الحر
أداة الاستخراج بالذكاء الاصطناعي تفهم طلبك النصي وتقرر بنفسها شكل النتيجة؛ بينما تفرض هذه الأداة مخطط حقول ثابت مسبقًا — اسم، سعر، توفر — فتصل كل صفحة بنفس بنية JSON تمامًا. هذا أساسي لمن يغذي نظامًا آليًا لا يتحمّل بنية متغيرة من طلب لآخر، ويحتاج ضمانًا صارمًا بأن كل حقل سيظهر في مكانه المتوقع دائمًا مهما تغيّرت الصفحة المصدر أو اختلف تصميمها الأصلي.
السعر
نحو $0.0605 للصفحة الواحدة، وهي $0.046 للطلب زائد $0.0145 للرابط، مثل الاستخراج بالوصف الحر لأنها تعتمد نفس معالجة الذكاء الاصطناعي مضافًا إليها التزام المخطط. تعمل عبر هذه الصفحة أو الـAPI لأتمتة استيراد بيانات مئات الصفحات دون تدخل يدوي في كل مرة، بمخطط واحد يُعرَّف مرة ويُعاد استخدامه دائمًا على أي عدد من الصفحات لاحقًا دون تعديل إضافي أو إعادة ضبط.
حالات التكامل
بناء كتالوج منتجات موحد من مصادر متعددة
يبني فريق تقني كتالوج منتجات موحدًا من عشرات صفحات موردين مختلفين، بمخطط JSON واحد يضمن نفس الحقول لكل منتج بغض النظر عن مصدره.
أسئلة تقنية
ماذا يحدث إن لم توجد قيمة لحقل في صفحة معينة؟
يعود الحقل فارغًا في النتيجة بدل حذفه، فتبقى بنية JSON ثابتة تمامًا في كل استجابة.
كم تكلفة استخراج بيانات منظمة من ثلاثين صفحة؟
نحو $1.815، بواقع $0.0605 للصفحة الواحدة تقريبًا.