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