Obtenha os podcasts mais recentes da iTunes Store com Link por RSS, JSON ou algo assim
-
26-09-2019 - |
Pergunta
Estou tentando obter as mais recentes informações de podcast da "iTunes Store" para trabalhar com esses dados em vários aplicativos (aplicativo para iPhone e aplicativo da Web).
Existe uma maneira de obter essas informações? RSS, JSON ou algo assim?
Quero trabalhar com essas informações no Objective-C e em um site com PHP ou JS.
Minha pergunta está clara? :(
// editar: algo pouco claro? Deixe um comentário, se sim
Solução
Com base na sua pergunta, tentei encontrar uma maneira de fazer isso.
Então você precisará do ID do podcast (deve ser óbvio no URL, se você o tiver; por exemplo
http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=82884735
tem o id "82884735" ehttp://itunes.apple.com/us/podcast/this-week-in-tech-mp3-edition/id73329404
tem o ID "73329404").???
Conecte o ID ao URL
https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/com.apple.jingle.app.finance.DirectAction/subscribePodcast?id={ID}&wasWarnedAboutPodcasts=true
e obtenha os dados, onde{ID}
é o seu ID de podcast. É importante aqui alterar sua string de agente do usuário para o iTunes. Para este experimento, usei "iTunes/7.4.1". Se você não mudar, você terá algo muito diferente.Você acabará com dados XML; um XML Plist fechado em
Document
eProtocol
Tag. Vai pareceru003CDocument>u003CProtocol>u003Cplist version="1.0">...u003C/plist>u003C/Protocol>u003C/Document>
Você pode extrair os dados do Plist e usar uma biblioteca para manipulá -los se o seu idioma de escolha tiver um. Essencialmente, haverá um dicionário "raiz" e um dicionário dentro dele chamado "Subscribe-Podcast". Este dicionário "Subscribe-Podcast" terá uma chave chamada "FeedUrl"-Nab o valor e você terá seu feed RSS. Eu recomendo experimentar essas etapas e acompanhar.
Uma representação mais fácil de seguir do Plist é o Formato Nextstep, que na verdade se parece um pouco com JSON. Um trecho de um plist de podcast fictício transformado nesse formato é o seguinte (lembre-se de que você realmente receberá um arquivo XML do tipo XML):
{
"subscribe-podcast" = {
…
feedURL = "http://feeds.feedburner.com/yaddayaddayadda";
…
podcastName = "Lorem Ipsum";
…
};
}
Agora você notará nas etapas que descrevi que a Etapa 2 está faltando. Isso ocorre porque olhei para os dados que a Apple estava devolvendo manualmente para chegar ao URL na etapa 3. Provavelmente, você deseja analisar os dados, caso a Apple decida alterar o URL, mas talvez seja provável que seja provável para O HTML intermediário para mudar e quebrar seu programa de qualquer maneira. Eu posso voltar e procurar documentar as etapas que devem ser tomadas para chegar ao nosso URL mágico na etapa 3.
Eu experimentei essa estratégia com alguns podcasts e parece funcionar bem ao me dar o feed RSS. Como não conheço nenhum dos idiomas que você pediu, não posso fazer nenhuma recomendação em termos de código. Espero que possa levá -lo a caminho, no entanto.
Outras dicas
- Extrair ID do iTunes-url
https://itunes.apple.com/de/podcast/ard-radio-tatort/id310864997?mt=2&uo=2
(Neste exemplo "310864997") - Você pode extrair o ID, usando o seguinte regex:
/id(\d+)/
- Digite ID no URL seguinte, para obter as informações do feed através da API da Apple
https://itunes.apple.com/lookup?id={FEED_ID}&entity=podcast
- O serviço de pesquisa retornará um arquivo JSON. Você encontrará o URL RSS no campo de 'feedurl' dentro do JSON.
Existem duas Adavantagens sobre a solução de Volt.
- Você não precisa fingir o agente do navegador.
- Você fica limpo e simples json como resposta.
Se você quiser ver um exemplo ao vivo, dê uma olhada XTunes-Podcatcher, onde implementei a técnica/etapas descritas acima. Basta inserir o URL do podcast do iTunes e tirar o URL do RSS.
Se houver um feed RSS para os dados que você está procurando, você pode usar isso Analisador RSS/Atom para iPhone Acabei de lançar.
Espero que possa ser de alguma utilidade!
Eu recebi o podcast RSS necessário de feedburner.com indiretamente. Eu não consegui encontrá -lo no site. Mas pesquisei o Google pelo 'nome de podcast' necessário junto com o FeedBurner na palavra -chave. O resultado da pesquisa tinha a página RSS do podcast correspondente ao nome do feedburner.