النتائج 1 إلى 3 من 3

الموضوع: [درس] كيفية استخراج البيانات من خلاصات المواقع RSS / Atom Feed

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509

    Arrow [درس] كيفية استخراج البيانات من خلاصات المواقع RSS / Atom Feed



    السلام عليكم ورحمة الله وبركاته

    كيف حالكم اخواني اخواتي ؟ ان شاء الله تكونوا بخير دايما , بعرف ممكن قسم منكم يلومني على التقصير في كتابة الدروس والشروحات لتعميم الفائدة لكن الظروف كانت صعبة اخر فترة وما كان سهل ابدا ادخل وافعل المدونة , لكن على كل حال اليوم انا جاي وجايب لكم معي درس مميز جدا , هالدرس يشرح كيفية استخراج بيانات ومعلومات اي خلاصة لأي موقع ما يعرف بالانجليزية RSS او Atom Feed وهو الامر الذي سيخدم اي مدير موقع يريد ربط موقعه بخدمات اخبارية مشهورة او حتى ادخال مواضيع مميزة من بعض المنتديات لموقعه الخاص وحفظه في قاعدة بيانات الموقع , طبعا الدرس للمستوى المتوسط بلغة البرمجة php .

    في البداية رح نكتب الكود سوا وبعدين نقوم بشرحه وفي النهاية نتكلم عن بعض الفوائد لهذا الكود .

    نبدأ بأسم الله

    كود PHP:
    <?php

    // Code By : EbNCaNa

    $xml simplexml_load_file("http://www.mysadaqa.org/news-feed.xml");

    $title $xml->xpath("/rss/channel/item/title");
    $link $xml->xpath("/rss/channel/item/link");
    $description $xml->xpath("/rss/channel/item/description");

    $total=0;

    foreach(
    $title as $value){
    $total++;
    }

    for(
    $i=0;$i<$total;$i++){
    echo 
    "Title: $title[$i]<br />";
    echo 
    "Link: $link[$i]<br />";
    echo 
    "Description: $description[$i]<br />";
    echo 
    "<br /><br />";
    }

    ?>


    شرح الكود :
    في السطر البرمجي الاول نقوم باستعمال الدالة simplexml_load_file ووظيفتها ادخال عناصر الملفات ذات الامتداد xml بداخل كائن وفي هذا الدرس سنقوم بالتجربة على خلاصة موقع مؤسسة الصدقة الجارية ( آخر اعمالي ) , من غير المفروض ان ينتهي عنوان خلاصة المواقع بالامتداد xml دائما فمثلا نهاية عنوان خلاصة مدونات وورد برس ينتهي بـ /feed/ ولكن محتوى الملف نفسه يجب ان يكون متلائم ومبنى باقي الملفات ذات الامتداد xml .

    في السطر البرمجي الثاني نقوم بتعريف المتغير title$ والذي سيحمل لنا قيمة جميع عناوين اخبار الموقع والتي سيجلبها من الخلاصة حيث تعنون بالاسم title ويكون هذا المتغير على شكل مصفوفة , لكي نقوم بهذه الخطوة يجب علينا استعمال الدالة xpath ووظيفتها الاستكشاف والمرور عبر مختلف العناصر والتعليمات والخصائص لأي ملف صاحب الامتداد xml .

    طبعا في السطرين البرمجيين الثالث والرابع نقوم بنفس العملية ولكن مع قيم اخرى وهي روابط الاخبار والمختصر لكل خبر .

    في الاسطر 8-5 نقوم بحساب عدد جميع العناصر في الملف ( عدد الاخبار ) ونضع قيمة المجموع في المتغير total$ .

    في الاسطر 14-9 نقوم بعمل حلقة تكرار وطالما ان قيمة المتغير i$ هي اقل من قيمة total$ فأن الحلقة ستبقى في تكرار مستمر , في كل مرة نقوم الحلقة باستخراج احد عناصر الصفحة وتعرضه لنا لحد الانتهاء وعرض جميع العناصر بشكل مرتب وسلس .

    ملاحظة : لفهم الدرس بشكل افضل انصح بمشاهدة الكود المصدري لملف الخلاصة ومتابعة الشرح بنفس الوقت .

    فوائد الكود :

    1- يمكنك جلب الاخبار واخر التطورات من اي موقع يقدم خدمة الخلاصة وتنشرها بموقعك بشكل ديناميكي وليس يدويا .
    2- يمكنك استعمال المخراجات لكي تقوم بنشرها في موقعك لكي لا تقوم بعمل استعلام جديد من قاعدة البيانات وهذا سيوفر من موارد الخادم .
    3- يمكنك جلب اخر مواضيع منتدى معين يتميز بمواضيعه المتجددة وتقوم بنقله الى المنتدى الخاص بك وتخزين المحتوى في قاعدة البيانات لديك من دون تكلف عناء النقل اليدوي ( لا اشجع على نقل المواضيع بشكل عام ) .
    4- يمكنك بناء خاصية للبحث بحيث تقوم بربط البرمجية بخلاصات مواقع حسب اختيارك وعندها يستطيع المستخدم البحث باكثر من موقع بنفس الوقت وبدون ان تقوم بتخزين المعطيات في قاعدة بيانات البرمجية .

    هذه بعض الافكار والتي خطرت ببالي حاليا ولكني كما في كل مرة , اضع النواة واحب ان ارى المبدعين العرب يستحدثون طرق وافكار وبرمجيات مختلفة تقوم بالاساس على النواة .

    اتمنى على الله ان يوفقني دائما لكي اوصل لكم المعلومة والفائدة بافضل واسهل الطرق الممكنة , واجدد توصيتي بعدم كتمان العلم .

    نحو عالم عربي اسلامي مليء بالمبرمجين واصحاب العقول .


    ( النسخة الأصلية للموضوع من هنا )


    اخوكم المحب : EbNCaNa





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟


  2. #2


    بارك الله فيك وجزاك الله خير لكن لدي سؤال هل يمكن استخدام مثل هذا الكود في الهوك الخاص بالفيبلتون ؟ اقصد هل يمكن تطويرة بحيث اني استطيع ان اجعل اي عضو يريد اضافة rss لملفة الشخصي يجلب له اخر المواضيع يعني يكون قاريء للعضو فقط بدون اطلاع الجميع ؟






  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    اخوي سلطان نظام منتديات الفيبلتون كما هو معروف للجميع مبني بواسطة لغة php لذلك ليس من الصعب بالمرة عمل هاك او اضافة للمنتدى الخاص باك والكود الذي وضعته مناسب جدا لهكذا خاصية .

    الى الامام اخوي





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض