Получить последние подкасты из магазина Itunes со ссылкой на RSS, JSON или что-то - PullRequest
3 голосов
/ 12 мая 2010

Я пытаюсь получить последнюю информацию о подкасте из «магазина itunes» для работы с этими данными в нескольких приложениях (приложение iphone и веб-приложение).

Есть ли способ получить эту информацию? RSS, JSON или что-то?

Я хочу работать с этой информацией в Objective-C и на веб-сайте с PHP или JS.

Мой вопрос понятен? (

// редактировать: что-то неясно? оставить комментарий, если да

Ответы [ 4 ]

8 голосов
/ 22 мая 2010

Исходя из вашего вопроса, я просто попытался найти способ сделать это.

  1. Таким образом, вам понадобится идентификатор подкаста (должен быть очевиден из URL, если он у вас есть; например, http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=82884735 имеет идентификатор "82884735", а http://itunes.apple.com/us/podcast/this-week-in-tech-mp3-edition/id73329404 имеет идентификатор "73329404").

  2. ???

  3. Вставьте идентификатор в URL https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/com.apple.jingle.app.finance.DirectAction/subscribePodcast?id={ID}&wasWarnedAboutPodcasts=true и получите данные, где {ID} - ваш идентификатор подкаста. Здесь важно изменить строку вашего пользовательского агента на iTunes. Для этого эксперимента я использовал «iTunes / 7.4.1». Если вы не измените это, вы получите что-то совсем другое.

  4. Вы получите XML-данные; XML-лист, заключенный в теги Document и Protocol. Это будет выглядеть как

    ...

Вы можете извлечь данные из plist и использовать библиотеку для манипулирования ими, если у вашего языка есть такой. По сути, будет «корневой» словарь и словарь внутри него, называемый «подписка-подкаст». Этот словарь «подписки на подкасты» будет иметь ключ «feedURL» - наберите значение, и у вас будет канал RSS. Я бы порекомендовал попробовать эти шаги и следовать.

Более легким для понимания представления plist является NeXTSTEP формат , который на самом деле немного похож на JSON. Выдержка из фиктивного списка подкастов, преобразованного в этот формат, выглядит следующим образом (помните, что вы действительно получите XML-подобный файл):

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

Теперь на шагах, которые я описал, вы заметите, что шаг 2 отсутствует. Это потому, что я посмотрел на данные, которые Apple возвращала мне вручную, чтобы перейти к URL-адресу на шаге 3. Скорее всего, вы захотите проанализировать данные самостоятельно, если Apple решит изменить URL-адрес, но, возможно, это промежуточный HTML, чтобы изменить и сломать вашу программу в любом случае. Я мог бы вернуться и посмотреть на документирование шагов, которые необходимо предпринять, чтобы перейти к нашему волшебному URL на шаге 3.

Я опробовал эту стратегию с несколькими подкастами, и она, похоже, хорошо работает, давая мне RSS-канал. Поскольку я не знаю ни одного из языков, которые вы просили, я не могу давать какие-либо рекомендации по кодам. Надеюсь, это поможет вам в пути.

2 голосов
/ 11 июля 2015
  1. Извлечение идентификатора из iTunes-url https://itunes.apple.com/de/podcast/ard-radio-tatort/id310864997?mt=2&uo=2 (в данном примере «310864997»)
  2. Вы можете извлечь идентификатор, используя следующее регулярное выражение: /id(\d+)/
  3. Введите id в следующий URL, чтобы получить информацию о фиде через API Apple. https://itunes.apple.com/lookup?id={FEED_ID}&entity=podcast
  4. Служба поиска вернет файл JSON. Вы найдете URL-адрес rss в поле feedUrl внутри JSON.

Есть два преимущества перед решением Вольта.

  1. Вам не нужно подделывать агент браузера.
  2. В ответ вы получите чистый и простой JSON.

Если вы хотите увидеть живой пример, взгляните на xTunes-Podcatcher , где я сам реализовал описанную выше технику / шаги. Просто введите URL-адрес подкаста iTunes и извлеките из него URL-адрес RSS.

0 голосов
/ 07 августа 2011

Я получил требуемый подкаст rss от feedburner.com косвенно. я не смог найти его с сайта. но я искал в Google нужное «имя подкаста» вместе с feedburner в ключевом слове. У результата поиска была страница подкаста rss, соответствующая имени из feedburner.

0 голосов
/ 16 мая 2010

Если есть RSS-канал для данных, которые вы ищете, вы можете использовать этот RSS / Atom Parser для iPhone Я только что выпустил.

Надеюсь, что это может быть полезным!

...