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

Foi útil?

Solução

Com base na sua pergunta, tentei encontrar uma maneira de fazer isso.

  1. 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" e http://itunes.apple.com/us/podcast/this-week-in-tech-mp3-edition/id73329404 tem o ID "73329404").

  2. ???

  3. 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.

  4. Você acabará com dados XML; um XML Plist fechado em Document e Protocol Tag. Vai parecer

    u003CDocument>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

  1. Extrair ID do iTunes-url https://itunes.apple.com/de/podcast/ard-radio-tatort/id310864997?mt=2&uo=2 (Neste exemplo "310864997")
  2. Você pode extrair o ID, usando o seguinte regex: /id(\d+)/
  3. Digite ID no URL seguinte, para obter as informações do feed através da API da Applehttps://itunes.apple.com/lookup?id={FEED_ID}&entity=podcast
  4. 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.

  1. Você não precisa fingir o agente do navegador.
  2. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top