假设我有通往channel9电影的网址;
Ex:Syncfusion Xamarin Products
我想在我的网站上显示这部电影,并为它显示一些信息。持续时间。
我所知道的就是,我可以通过电话
获取电影列表https://channel9.msdn.com/Series/Office-365-Tips--Tricks/01-Wprowadzenie并跳过+25以显示接下来的25个结果。
我现在的实施方式如下:
从api获取前25个元素
迭代他们
将我的网址与elementFromApi [i] .url进行比较 它的工作,但我不喜欢这个解决方案,它是非常优雅和缓慢的地狱。我对api一无所知所以我不知道如何重构这个^。
也许有人可以帮助我。
PS。我需要来自api的信息,嵌入iframe与给定的url不是这里的解决方案:) PS2。对不起我的英语不好。
答案 0 :(得分:1)
我通过我的客户得到了这个要求,我最终使用RSS做到了!在您的用例中,网址为https://channel9.msdn.com/Series/Office-365-Tips--Tricks/01-Wprowadzenie - 我们只需使用链接https://s.ch9.ms/Series/Office-365-Tips--Tricks/rss/mp4即可阅读RSS - 在PowerShell中,我们可以使用下面的代码探索内容
$Sessions = Invoke-Restmethod -Uri 'https://s.ch9.ms/Series/Office-365-Tips--Tricks/rss/mp4' -UseDefaultCredentials
foreach($Session in $Sessions) {
$Duration = [timespan]::FromSeconds($Session.duration)
[pscustomobject]@{
Title = $Session.title
Duration = ("{0:0}:{1:00}:{2:00}" -f ($Duration.Hours , $Duration.Minutes , $Duration.Seconds))
Creator = $Session.creator
"URl(MP3)" = $Session.group.content.url[0]
"URl(MP4)" = $Session.group.content.url[1]
"URl(webm)" = $Session.group.content.url[2]
"URl(MP4High)" = $Session.group.content.url[3]
}
}
注意:代码需要即兴创作! 使用C#可以实现同样的目标 - 但我不是经过认证的开发人员 - 所以,我使用PowerShell来满足客户要求。