通过 RSS、JSON 或其他方式从 itunes 商店获取最新的播客
-
26-09-2019 - |
题
我正在尝试从“itunes store”中获取最新的播客信息,以便在多个应用程序(iPhone 应用程序和网络应用程序)中使用这些数据。
有没有办法获取这些信息?RSS、JSON 还是什么?
我想在 Objective-C 和带有 php 或 js 的网站上使用这些信息。
我的问题清楚吗?:(
//编辑:有什么不清楚的吗?留下评论,如果是的话
解决方案
根据你的问题,我只是想找到一种方法来做到这一点。
因此,您需要播客 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”)。???
将 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”。如果你不改变它,你会得到非常不同的东西。您最终将得到 XML 数据;包含在中的 XML plist
Document
和Protocol
标签。它看起来像u003CDocument>u003CProtocol>u003Cplist version="1.0">...u003C/plist>n u003C/Protocol>nu003C/Document>
如果您选择的语言有库,您可以从中提取 plist 数据并使用库来操作它。本质上会有一个“根”字典和一个名为“订阅播客”的字典。这个“订阅播客”字典将有一个名为“feedURL”的键 - 获取该值,您将获得 RSS 提要。我建议尝试这些步骤并遵循。
plist 的一个更容易理解的表示是 下一步格式, ,实际上看起来有点像 JSON。转换为这种格式的虚拟播客 plist 的摘录如下(请记住,您实际上将返回一个类似 XML 的文件):
{
"subscribe-podcast" = {
…
feedURL = "http://feeds.feedburner.com/yaddayaddayadda";
…
podcastName = "Lorem Ipsum";
…
};
}
现在您会注意到我描述的步骤中缺少第 2 步。这是因为我查看了 Apple 手动返回给我的数据,以获取第 3 步中的 URL。您可能需要自己解析数据,以防 Apple 决定更改 URL,但中间的 HTML 可能会更改并破坏您的程序。我可能会回去查看记录在步骤 3 中获取我们的 magic URL 应该采取的步骤。
我在几个播客中尝试了这个策略,它似乎在为我提供 RSS 提要方面效果很好。由于我不知道您要求的任何语言,因此我无法就代码提出任何建议。不过,希望它能让你上路。
其他提示
- 从 iTunes-url 中提取 id
https://itunes.apple.com/de/podcast/ard-radio-tatort/id310864997?mt=2&uo=2
(在此示例中为“310864997”) - 您可以使用以下正则表达式提取 id:
/id(\d+)/
- 在以下url中输入id,即可通过Apple的api获取feed信息
https://itunes.apple.com/lookup?id={FEED_ID}&entity=podcast
- 查找服务将返回一个 JSON 文件。您将在 JSON 内的“feedUrl”字段中找到 rss url。
Volt 的解决方案有两个优点。
- 您不必伪造浏览器代理。
- 您会得到干净简单的 JSON 作为响应。
如果您想查看实例,请查看 xTunes-Podcatcher, ,我自己实现了上述技术/步骤。只需输入您的 iTunes 播客网址并从中获取 RSS 网址即可。
如果有你要找的数据RSS源,您可以使用此的RSS / Atom解析器为iPhone 我刚刚发布。
希望能有些用处的!
我从的 feedburner.com 强>间接所需的播客的RSS。我不能从网站上找到它。但我通过Google搜索与关键字的FeedBurner沿所需的“播客的名字”。所述搜索结果具有对应于从Feedburner的名称播客RSS页面。