php - 通过 RSS、JSON 或其他方式从 iTunes 商店获取最新的播客链接

标签 php objective-c rss itunes podcast

我正在尝试从“itunes 商店”中获取最新的播客信息,以便在多个应用程序(iphone 应用程序和网络应用程序)中使用这些数据。

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

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

我的问题清楚吗? :(

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

最佳答案

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

  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/id73329404 的 ID 为“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 数据;包含在 Document 中的 XML plist和 Protocol标签。看起来像

    <文档> <协议(protocol)> ...

如果您选择的语言有一个库,您可以从中提取 plist 数据并使用一个库来操作它。本质上会有一个“根”字典和一个名为“订阅播客”的字典。这个“subscribe-podcast”字典将有一个名为“feedURL”的键——获取该值,您将获得 RSS 提要。我建议您尝试这些步骤并继续操作。

一个更容易理解的 plist 表示是 NeXTSTEP format ,实际上看起来有点像 JSON。转换为这种格式的虚拟播客 plist 的摘录如下(请记住,您实际上会得到一个类似 XML 的文件):

{
    "subscribe-podcast" = {
        …
        feedURL = "http://feeds.feedburner.com/yaddayaddayadda"; 
        …
        podcastName = "Lorem Ipsum"; 
        …
    }; 
}

现在您会注意到在我描述的步骤中缺少第 2 步。这是因为我查看了 Apple 在第 3 步中手动返回给我的数据以获取 URL。可能你会想要自己解析数据以防 Apple 决定更改 URL,但也许这可能是无论如何改变和破坏你的程序的中间 HTML。我可能会回头看看记录在第 3 步中获取神奇 URL 应采取的步骤。

我在几个播客中尝试了这个策略,它似乎在为我提供 RSS 提要方面效果很好。由于我不知道您要求的任何语言,因此我无法在代码方面提出任何建议。不过,希望它能助您一臂之力。

关于php - 通过 RSS、JSON 或其他方式从 iTunes 商店获取最新的播客链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2816881/

相关文章:

php - 试图理解 array_uintersect 行为

PHP + SQL -- 统计多行点击次数

ios - 如何将 UIScrollView 的背景图片设置为可伸缩图片?

objective-c - Spritekit 和 Touch 事件(坐标似乎翻转)

java - 使用 ROME 搜索 RSS 源

c++ - RSS 提要阅读器。 QT。烦恼

java - 用于跟踪大量 RSS 和 Atom 提要的服务器端组件

php - 如何在mysql数据库中保存没有html标签的输入?

php - Json数组数据在php中插入空值

ios - 如何在选择器中传递自定义 UITableViewCell