实际上,您所建议的正是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
哪里保存
- 您可以将其用作用户脚本(例如,使用Greasemonkey或Tampermonkey)。
- 您可以将其用作Bookmarklet。
- 复制代码并将其粘贴到开发人员控制台中。
注意:如果选择选项1
或2
-,则将console.log
命令替换为alert
以获取弹出窗口而不是向控制台发送消息会更方便。
手动地
- 打开所需的YouTube频道页面。
- 打开该
view-source
页面的(以下一项):
- Ctrl+ U。
- 右键单击->
View page source
。
view-source:
在地址栏中添加到网址的开头。
- 搜索词
externalId
- 在此之后,将出现以下形式的随机代码(频道ID):
UCoookXUzPciGrEZEXmh4Jjg
- 将您发现的代码添加为后缀
https://www.youtube.com/feeds/videos.xml?channel_id=
,现在这是该频道的RSS feed。
rssUrl
不幸的是,并非每个频道的源中都存在,例如view-source:https://www.youtube.com/channel/UC0YagOInbZxj10gaWwb1Nag/
和view-source:https://www.youtube.com/channel/UCEBTfxJ13zkpZVbZTF3aukg
。