YouTube पर चैनल RSS फ़ीड कैसे खोजें?


14

YouTube आधिकारिक तौर पर चैनल RSS फ़ीड्स का समर्थन करता है , लेकिन मुझे फ़ीड खोजने में गंभीर कठिनाइयों का सामना करना पड़ रहा है। कम से कम थंडरबर्ड में चैनल URL का उपयोग करना संभव नहीं है। फ़ायरफ़ॉक्स वर्तमान में फ़ीड का पता लगाने में असमर्थ है (अतीत में काम करता था, लेकिन कुछ हद तक अविश्वसनीय और पृष्ठ को ताज़ा करना कभी-कभी आवश्यक था) और Google Chrome को मेरे ज्ञान के लिए कोई मूल आरएसएस समर्थन नहीं है।

मैन्युअल रूप से फ़ीड बनाने की एक विधि है , लेकिन यह अब काम नहीं कर सकता है ( channel-external-idसभी चैनलों के स्रोत में मौजूद नहीं है, channel_idइसके बजाय यह है):

  1. पृष्ठ का स्रोत कोड देखें
  2. निम्नलिखित पाठ के लिए देखें: channel-external-id
  3. उस तत्व के लिए मूल्य प्राप्त करें
  4. उस मान को इस URL में बदलें:

https://www.youtube.com/feeds/videos.xml?channel_id=UCBcRF18a7Qf58cCRy5xuWwQ

उदाहरण चैनल: https://www.youtube.com/user/SesameStreet/videos

जवाबों:


11

वास्तव में आपने जो सुझाव दिया था, वह वास्तव में RSS फ़ीड पता है, हालांकि यह आपके प्रश्न में वर्णित प्रक्रिया से थोड़ा बदल गया था, खोज करने के लिए सही स्ट्रिंग है externalId

स्क्रिप्ट के साथ

निम्न स्क्रिप्ट फ़ीड URL निकालेगी और इसे कंसोल में आउटपुट करेगी:

for (var arrScripts = document.getElementsByTagName('script'), i = 0; i < arrScripts.length; i++) {
    if (arrScripts[i].textContent.indexOf('externalId') != -1) {
        var channelId = arrScripts[i].textContent.match(/\"externalId\"\s*\:\s*\"(.*?)\"/)[1];
        var channelRss = 'https://www.youtube.com/feeds/videos.xml?channel_id=' + channelId;
        var channelTitle = document.title.match(/\(?\d*\)?\s?(.*?)\s\-\sYouTube/)[1];
        console.log('The rss feed of the channel \'' + channelTitle + '\' is:\n' + channelRss);
        break;
    }
}

परिणाम:

The rss feed of the channel 'Sesame Street' is:
https://www.youtube.com/feeds/videos.xml?channel_id=UCoookXUzPciGrEZEXmh4Jjg

इसे कहां बचाया जाए

  1. आप इसे एक उपयोगकर्ता-स्क्रिप्ट के रूप में उपयोग कर सकते हैं ( उदाहरण के लिए Greasemonkey या Tampermonkey के साथ )।
  2. आप इसे एक बुकमार्क के रूप में उपयोग कर सकते हैं ।
  3. कोड को कॉपी करके डेवलपर कंसोल में पेस्ट करें।

नोट: यदि आप विकल्प चुनते हैं 1या 2- कंसोल पर संदेश के बजाय पॉपअप प्राप्त करने के लिए console.logकमांड को बदलना अधिक सुविधाजनक होगा alert


मैन्युअल

  1. वांछित YouTube चैनल पृष्ठ खोलें।
  2. view-sourceउस पृष्ठ को खोलें (निम्न में से एक):
    • Ctrl+ U
    • राइट क्लिक करें -> View page source
    • view-source:एड्रेस बार में url की शुरुआत में जोड़ें ।
  3. शब्द के लिए खोजें externalId
  4. इसके ठीक बाद, एक यादृच्छिक कोड (चैनल आईडी) होगा: UCoookXUzPciGrEZEXmh4Jjg
  5. आपके द्वारा प्रत्यय के रूप में पाया गया कोड जोड़ें https://www.youtube.com/feeds/videos.xml?channel_id=और अब उस चैनल के लिए आपका RSS फ़ीड है।

rssUrlदुर्भाग्य से हर चैनल के स्रोत में मौजूद नहीं है, उदाहरण के लिए view-source:https://www.youtube.com/channel/UC0YagOInbZxj10gaWwb1Nag/और view-source:https://www.youtube.com/channel/UCEBTfxJ13zkpZVbZTF3aukg
user598527

1
मैं इसे
देखूंगा

मुझे वह चीज़ मिल गई, मैं आज बाद में अपना जवाब अपडेट करूँगा!
एरिलजन्नाई

@ user598527 अपडेटेड :)
arieljannai

अपडेट करने के लिए धन्यवाद। मैं मानक विधि (बुकमार्क टूलबार पर कोड को खींचकर) का उपयोग करके बुकमार्कलेट स्थापित नहीं कर पाया । मेरे अनुभव के आधार पर बुकमार्कलेट शुरू होते हैं javascript:, कम से कम जो ब्राउज़र की स्थापना प्रक्रिया में मदद करेगा।
user598527

1

आपके द्वारा उल्लिखित विधि वर्तमान में काम करती है, लेकिन केवल कुछ परिस्थितियों में, देखने के लिए सटीक पाठ डेटा-चैनल-बाहरी-आईडी है और यह IE11 में काम करता है, उदाहरण के लिए। <channel-id>चैनल URL में दूर आसान हो रहा है , जो इस तरह से बना है

https://www.youtube.com/channel/<channel-id>

वैसे भी ऐसा करने के लिए एक लंबा समर्थित तरीका है, और यह इस तथ्य को दर्शाता है कि YouTube आपको उन चैनलों की सदस्यता लेना पसंद करता है जिन्हें आप आरएसएस फ़ीड के माध्यम से लिंक करना चाहते हैं।

यदि आप उस चैनल की सदस्यता लेते हैं जिसे आप RSS फ़ीड के लिए देख रहे हैं, तो आप इसे अपने प्रबंधित सदस्यता पृष्ठ में सूचीबद्ध पा सकते हैं , वहाँ आप सभी तरह से नीचे स्क्रॉल कर सकते हैं जब तक कि आपको "RSS रीडर में निर्यात" बटन नहीं मिलेगा : उस बटन पर क्लिक करना होगा आपको एक XML फ़ाइल डाउनलोड करने की अनुमति देता है जिसमें चैनल का नाम है और RSS सभी सदस्यता प्राप्त चैनलों के लिए फ़ीड करता है।

RSS फ़ीड्स को हमेशा अपडेट किया जाएगा यदि YouTube उन्हें कैसे एक्सपोज़ करता है तो उसमें कुछ परिवर्तन होता है।


1

कंसोल को खोलें F12और निष्पादित करें

window["ytInitialData"].metadata.channelMetadataRenderer.rssUrl

फ़ायरफ़ॉक्स में चलने पर मुझे TypeError: window.ytInitialData.metadata is undefined त्रुटि मिलती है । क्या यह कमांड किसी चैनल के सभी पृष्ठों पर काम करना चाहिए?
user598527

हम्म, ऐसा लगता है कि यह सभी पेजों पर काम नहीं करता है
goweon
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.