我知道RSS generator,它可以用于生成一个链接到播客的链接,但这些链接是HTML页面.
如果您打开iTunes,您可以通过导出到OPML手动导出播客列表,所以我们可以推测iTunes最终会知道如何对它们进行解码(即它们不是完全通过iTMS主机).
我已经看过Affiliate API document,它给了你一些很好的JSON回来.这给你一个collectionViewUrl,它与RSS生成器中给出的一样,顺便说一下,就是iTunes Link Generator.它还给你的id,以及一个其他东西,包括一个预览音频文件,而不是在phobos上托管.
在这一点上,我正在寻找有助于我解决这个问题的任何东西,包括任何非官方的语言.
(实际上,我更喜欢一些模糊的支持,而在Java中,并不涉及HTML的刮擦).
解决方法
查找播客的示例
首先,使用RSS生成器从iTunes获取播客列表.我不知道查询参数如何工作,但这里是美国顶尖科技播客的RSS提要.
http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppodcasts/sf=143441/limit=25/genre=1318/xml
> sf与国家有关,是可选的.我猜这个默认是全局的,如果缺席的话.
类型与流派有关,是可选的.我猜这个默认为“所有类型”都不存在.
> limit是可选的,似乎默认为9.
这给你一个播客的Atom供稿.您需要使用XPath进行某些精通以获取播客的ITMS ID,但您正在寻找以下XPath中找到的URL中包含的数字ID:
/atom:Feed/atom:entry/atom:link[@rel='alernate']/@href
例如,优秀的JavaPosse的ID为81157308.
问题的答案
一旦你有这个ID,你可以得到另一个文件,告诉你最后一集和原始的Feed URL.在这里,您需要使用iTunes用户代理来获取此文档.
例如
wget --user-agent iTunes/7.4.1 \ --no-check-certificate \ "https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/com.apple.jingle.app.finance.DirectAction/subscribePodcast?id=81157308&wasWarnedAboutPodcasts=true"
这是一个plist,其中包含有关播客的一些元数据,包括Feed网址.
<key>FeedURL</key><string>http://Feeds.Feedburner.com/javaposse</string>
XPath可能是这样的:
//key[@text='FeedURL']/following-sibling::string/text()
放弃
不完全确定这是多么稳定,还是多么合法.因人而异.