حوّل خلاصة RSS إلى JSON
أداة تحويل RSS إلى JSON تقرأ خلاصة موقع بصيغة XML التقليدية وتعيدها بصيغة JSON منظمة سهلة القراءة برمجيًا: عنوان كل مقال، رابطه، تاريخه، وملخصه. مفيدة لمن يبني قسم أخبار أو تحديثات في موقعه دون التعامل مباشرة مع صيغة XML القديمة.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
لماذا JSON أسهل من XML هنا
صيغة RSS التقليدية مبنية على XML، وهي صيغة تتطلب محللًا خاصًا في أغلب لغات البرمجة الحديثة قبل استخدامها؛ بينما JSON يُقرأ مباشرة في تطبيقات الويب والجوال الحديثة بسطر واحد من الكود. هذه الأداة تنقل بيانات الخلاصة من صيغة إلى أخرى دون أن تفقد أي حقل من حقولها الأصلية: العنوان، الرابط، التاريخ، والملخص.
الوضع المجاني: الصق محتوى الخلاصة
إن كان لديك محتوى الخلاصة كنص، الصقه مباشرة في الأداة ليعمل التحويل داخل متصفحك دون رفع أي بيانات لخادم. هذا الوضع مجاني بلا حد لعدد المرات، مناسب لمطور يختبر خلاصة أنشأها بنفسه قبل نشرها.
الوضع المدفوع: أدخل رابط الخلاصة
إن كنت تريد جلب خلاصة منشورة فعلًا عبر رابطها مباشرة، تعمل الأداة عبر الويب أو الـAPI بسعر $0.002 لكل خلاصة تُحوَّل، مناسب لدمج تحديثات مصدر خارجي في تطبيقك بشكل مؤتمت دون تدخل يدوي متكرر.
ماذا لو كانت الخلاصة بصيغة Atom لا RSS
تتعامل الأداة مع صيغة Atom أيضًا، وهي صيغة خلاصات بديلة تستخدمها بعض المدونات ومنصات النشر، وتُخرج نتيجة JSON بنفس البنية الموحّدة بغض النظر عن الصيغة الأصلية، فلا تحتاج لمعرفة أي صيغة تستخدمها المدونة قبل التحويل.
حالات الاستخدام
مطور يبني قسم آخر الأخبار في موقع شركته
يدمج مطور في شركة الخليج الرقمية خلاصة مدونة الشركة داخل الصفحة الرئيسية للموقع، ويحتاج بيانات كل مقال بصيغة JSON ليعرضها ببطاقات مصممة بدل XML خام.
صحفي يجمع عدة مصادر في تطبيق واحد
يجمع صحفي مستقل خلاصات عدة مواقع إخبارية إقليمية ويحوّلها إلى JSON ليعرضها موحدة داخل تطبيقه الشخصي لمتابعة الأخبار.
تطبيق جوال يعرض تحديثات مدونة الشركة
يعرض تطبيق جوال تابع لمؤسسة النخيل للمقاولات آخر تحديثات مدونتها للمستخدمين، بعد تحويل الخلاصة إلى JSON يسهل تحليله داخل التطبيق مباشرة.
الأسئلة الشائعة
هل الوضع المجاني محدود بعدد معين من المحاولات؟
لا، وضع اللصق مجاني بلا حد لأنه يعمل داخل متصفحك دون رفع بيانات.
هل تدعم الأداة صيغة Atom إلى جانب RSS؟
نعم، تتعرف الأداة على الصيغتين وتُخرج نتيجة JSON موحدة البنية في الحالتين.
كم تكلفة تحويل خلاصة عبر رابطها مباشرة؟
$0.002 لكل خلاصة، تُدفع فقط عند استخدام وضع الرابط لا وضع اللصق.
هل يتضمن الناتج صورة كل مقال إن وُجدت؟
نعم، إن كانت الخلاصة الأصلية تتضمن رابط صورة لكل عنصر، يظهر في حقل مخصص ضمن نتيجة JSON.
هل هناك حد لعدد العناصر في الخلاصة الواحدة؟
تتعامل الأداة مع خلاصات كبيرة نسبيًا دون مشكلة؛ للخلاصات الضخمة جدًا يُستحسن التواصل معنا لترتيب مناسب.
هل أحتاج حسابًا لاستخدام الأداة؟
لا يوجد تسجيل دخول ولا حساب؛ الوضع المجاني متاح فورًا، والمدفوع عبر PayPal مباشرة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/rss-to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/web/rss-to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/rss-to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/rss-to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/rss-to-json", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"input": "…"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.rss_to_json",
"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 | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |