سؤال

أحصل على عنوان URL من المستخدم.أريد أن أعرف:
أ) هل عنوان URL هو خلاصة RSS صالحة؟
ب) إذا لم يكن هناك موجز صالح مرتبط بعنوان URL هذا

باستخدام PHP/Javascript أو شيء مشابه

(السابق. http://techcrunch.com فشل أ)، ولكن ب) سيعود بخلاصة RSS الخاصة بهم)

يحرر:انظر بلدي إجابة أقل

هل كانت مفيدة؟

المحلول

وجدت الشيء الذي أردته:

جوجل واجهة برمجة تطبيقات خلاصة AJAX يحتوي على وظيفة تحميل وتغذية البحث (Docs هنا).

أ) تحميل التغذية يوفر الخلاصة (وحالة الخلاصة) في JSON

ب) تغذية البحث يوفر موجز RSS لعنوان URL محدد

هناك أيضًا وظيفة البحث عن الخلاصات التي تبحث عن خلاصات RSS بناءً على كلمة رئيسية.

التخطيط لاستخدام هذا مع $.getJSON الخاص بـ JQuery

نصائح أخرى

ال فئة تغذية زيند التابع إطار زند يمكنه تحليل صفحة ويب تلقائيًا وسرد الخلاصات المتاحة.

مثال:

$feedArray = Zend_Feed::findFeeds('http://www.example.com/news.html');

هذا الرابط سيسمح لك بالتحقق من صحة الارتباط مقابل مواصفات RSS/Atom باستخدام مواصفات W3C، ولكنه يتطلب منك إدخال عنوان url يدويًا.

هناك عدة طرق للقيام بذلك برمجيًا، اعتمادًا على اختيارك للغة - في PHP، تحليل الملف كـ XML صالح هي طريقة جيدة للبدء، ثم قارنها بـ DTD ذات الصلة.

بالنسبة إلى ب)، إذا لم يكن الرابط نفسه عبارة عن خلاصة، فيمكنك تحليله والبحث عن خلاصة محددة في قسم <head> من الصفحة، والبحث عن رابط نوعه "application/rss+xml"، على سبيل المثال. :

<link rel="alternate" title="RSS Feed" 
    href="http://www.example.com/rss-feed.xml" type="application/rss+xml" />

هذا النوع من الارتباط هو الذي تستخدمه معظم المتصفحات "للاكتشاف التلقائي" للخلاصات (مما يؤدي إلى ظهور رمز RSS في شريط العناوين لديك)

أ) استرجعه وحاول تحليله.إذا كنت تستطيع تحليله، فهو صالح.

ب) اختبر ما إذا كان مستند HTML (تم إرسال الخادم text/html) نوع التمثيل الصامت.إذا كان الأمر كذلك، قم بتشغيله من خلال محلل HTML وابحث عنه <link> العناصر مع علاقات تغذية RSS.

بالنسبة لبيرل، هناك تغذية::بحث ، والذي يعمل على أتمتة اكتشاف خلاصات المشاركة من صفحة الويب.الاستخدام مبسط للغاية:

use Feed::Find;
my @feeds = Feed::Find->find('http://example.com/');

يحاول أولاً link العلامات ثم يقوم بمسح a العلامات للملفات المسماة .rss وشيء من هذا القبيل.

هل تفعل ذلك بلغة معينة، أم أنك تريد فقط تفاصيل حول مواصفات RSS؟

بشكل عام، ابحث عن برولوج XML:

<?xml version="1.0" encoding="UTF-8"?>

متبوعًا بعنصر <rss>، ولكن قد ترغب في التحقق من صحته كـ XML، أو التحقق من صحته بالكامل مقابل DTD، أو التحقق من أنه - على سبيل المثال، كل عنوان URL مُشار إليه صالح، وما إلى ذلك.مزيد من التفاصيل من شأنها أن تساعد.

تحديث:اه - PHP.لقد وجدت هذه المكتبة مفيدة جدًا: العقعقRSS

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top