通过RSS,JSON或其他东西获取来自itunes商店的最新播客

cho*_*ise 3 php podcast rss itunes objective-c

我正试图从"itunes商店"中获取最新的播客信息,以便在多个应用程序(iphone应用程序和Web应用程序)中处理这些数据.

有没有办法获得这些信息?RSS,JSON还是什么?

我想在objective-c和php或js的网站上使用这些信息.

我的问题清楚了吗?:(

//编辑:有什么不清楚的?发表评论,如果是的话

小智 9

根据您的问题,我只是想找到一种方法来做到这一点.

  1. 因此,您需要播客ID(如果您拥有该ID,则应该从URL中显而易见;例如http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=82884735,ID为"82884735",http://itunes.apple.com/us/podcast/this-week-in-tech-mp3-edition/id73329404ID为"73329404").

  2. ???

  3. 将ID插入URL https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/com.apple.jingle.app.finance.DirectAction/subscribePodcast?id={ID}&wasWarnedAboutPodcasts=true并获取数据,{ID}您的播客ID 在哪里.这里将用户代理字符串更改为iTunes非常重要.对于这个实验,我使用了"iTunes/7.4.1".如果你不改变它,你会得到一些非常不同的东西.

  4. 你最终会得到XML数据; 一个XML的plist封闭在DocumentProtocol标签.它看起来像

    <Document> <Protocol> <plist version ="1.0"> ... </ plist> </ Protocol> </ Document>

如果您选择的语言有一个,您可以从中提取plist数据并使用库来操作它.基本上会有一个"根"字典和里面的字典叫做"subscribe-podcast".这个"订阅播客"字典将有一个名为"feedURL"的键 - 获取该值,您将拥有自己的RSS源.我建议尝试这些步骤并继续.

更容易遵循plist的表示是NeXTSTEP格式,实际上看起来有点像JSON.转换为此格式的虚拟播客plist的摘录如下(请记住,您将真正获得类似XML的文件):

{
    "subscribe-podcast" = {
        …
        feedURL = "http://feeds.feedburner.com/yaddayaddayadda"; 
        …
        podcastName = "Lorem Ipsum"; 
        …
    }; 
}
Run Code Online (Sandbox Code Playgroud)

现在你会注意到我描述的步骤中缺少第2步.这是因为我查看了Apple在第3步中手动给我回复的数据.如果Apple决定更改URL,您可能需要自己解析数据,但可能很可能是中间的HTML无论如何都要改变和破坏你的程序.我可能会回过头来看看记录在步骤3中获取魔术URL时应采取的步骤.

我用几个播客尝试了这个策略,它似乎很适合给我RSS提要.由于我不知道你要求的任何语言,我不能以代码方式提出任何建议.但希望它可以帮助你.


net*_*net 5

  1. 从 iTunes-url 中提取 id https://itunes.apple.com/de/podcast/ard-radio-tatort/id310864997?mt=2&uo=2(在本例中为“310864997”)
  2. 您可以使用以下正则表达式提取 ID: /id(\d+)/
  3. 在下面的url中输入id,通过苹果的api获取feed信息 https://itunes.apple.com/lookup?id={FEED_ID}&entity=podcast
  4. 查找服务将返回一个 JSON 文件。您将在 JSON 中的“feedUrl”字段中找到 rss url。

Volt 的解决方案有两个优点。

  1. 您不必伪造浏览器代理。
  2. 你得到干净简单的 JSON 作为响应。

如果您想查看现场示例,请查看xTunes-Podcatcher,我自己在其中实现了上述技术/步骤。只需输入您的 iTunes 播客 url 并从中获取 RSS url。