如何在youtube上获取过去24小时内访问量最大的视频的RSS源

时间:2016-09-12 05:51:37

标签: php youtube youtube-api rss

如何从youtube获取过去24小时内访问量最大的视频的RSS源? 我想使用php

列出我网站首页上访问量最大的24小时视频

我已经检查了this,但没有找到用于此目的的RSS Feed生成器。

This网站列出了过去24小时内访问次数最多的视频,但我不知道它会使用哪种API或RSS Feed!

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

此文档Standard feeds for channels还讨论了如何检索列出观看次数最多或订阅最多的YouTube频道的标准Feed。要检索标准渠道供稿,请向与该供稿相关联的网址发送GET请求。

您还可以查看viewCount属性,该属性提供观看视频的次数。

"statistics": {
    "viewCount": unsigned long,
    "likeCount": unsigned long,
    "dislikeCount": unsigned long,
    "favoriteCount": unsigned long,
    "commentCount": unsigned long
  },

您可以查看这些相关的SO主题:

  

是的,他们在某一天没有统计数据,但确实有   运行viewCount。因此,您可以使用

中的API信息
https://developers.google.com/youtube/v3/docs/search/list 
     

制作类似

的内容
https://www.googleapis.com/youtube/v3/search?part=snippet&order=viewCount&publishedAfter=2014-10-29T00%3A00%3A00Z&publishedBefore=2014-10-31T00%3A00%3A00Z&key={YOUR_API_KEY}

答案 1 :(得分:0)

像这样我做到了... public void GetFeedList(int UserId, string channel) { var doc = XDocument.Load("https://www.youtube.com/feeds/videos.xml?" + channel); XNamespace xmlns = "http://www.w3.org/2005/Atom"; XNamespace media = "http://search.yahoo.com/mrss/"; XNamespace community = "http://search.yahoo.com/mrss/community";

        var query =

            from entry in doc.Root.Elements(xmlns + "entry")
            let grp = entry.Element(media + "group")
            let com = grp.Element(media + "community")

            select new YouTubeFeedItem
            {
                User_Id = UserId,

                User_Channel = channel,

                Title = (string)grp.Element(media + "title"),

                Description = (string)grp.Element(media + "description"),

                Video = (string)grp.Element(media + "content").Attribute("url"),

                Image = grp.Elements(media + "thumbnail")
                    .Select(e => (string)e.Attribute("url"))
                    .First(),

                Views = com.Elements(media + "statistics")
                    //.Select(e => (string)com.Element("statistics"))
                    .Select(e => (string)e.Attribute("views"))
                    .First(),

                Count = com.Elements(media + "starRating")
                    .Select(e => (string)e.Attribute("count"))
                    .First(),

                Average = com.Elements(media + "starRating")
                    .Select(e => (string)e.Attribute("average"))
                    .First(),

                Min = com.Elements(media + "starRating")
                    .Select(e => (string)e.Attribute("min"))
                    .First(),

                Max = com.Elements(media + "starRating")
                    .Select(e => (string)e.Attribute("max"))
                    .First(),

            };

        List<YouTubeFeedItem> youTubeFeed = query.ToList();

干杯, 乔