2017-02-22 6 views
25

Я пытаюсь импортировать обзоры для определенных приложений в iTunes App Store через публичные обзоры RSS-ленты. В большинстве случаев фид возвращает список из 50 обзоров на страницу и дает мне ссылки на 10 страниц. Но в случае некоторых приложений некоторые или все эти страницы имеют 0 отзывов, и я не могу сказать, почему.Почему iTunes Store Reviews RSS-канал иногда не возвращает результатов?

На момент написания этой статьи фид для Instagram (ссылка ниже) не дает отзывов, несмотря на то, что сообщается, что имеется 10 страниц обзоров.

https://itunes.apple.com/us/rss/customerreviews/page=1/id=389801252/sortBy=mostrecent/xml

Еще более запутанной, я заметил, что прошлой ночью страница 2 была 50 отзывов, но ни один из других страниц не было никаких. Сегодня утром страница 2 снова пуста.

Если я удалю часть sortBy=mostrecent URL-адреса выше, я действительно получаю 50 результатов назад, но ни одна из других страниц не имеет никаких результатов.

И, наконец, похоже, что версия JSON этой страницы (ссылка ниже) действительно возвращает результаты лучше, чем версия XML. К сожалению, версия JSON оставляет дату проверки в данных, поэтому я не могу ее использовать.

https://itunes.apple.com/us/rss/customerreviews/page=1/id=389801252/sortBy=mostrecent/json

Может кто-нибудь объяснить это? Является ли API-интерфейс XML для XML просто крайне ненадежным? Я создаю плохой URL?

+0

Я думаю, что вы правы в том, что вы сказали API подачи XML от Apple. если вы хотите, отметьте [мой ответ] (http://stackoverflow.com/a/40383107/4092887) о том, как я проверяю результаты страницы для получения определенных данных из фида Apple Itunes. версия tl; dr может быть: некоторые данные недоступны в RSS, несмотря на то, что их сайт показывает это. Надеюсь, это поможет вам. –

ответ

1

Хотя этот ответ не очень удовлетворяет, это лучшее, что я мог бы выработать после многих испытаний. Похоже, что XML-канал действительно ошибочен и не должен использоваться для реального использования. Кроме того, при использовании публичного канала JSON некоторые поля, такие как дата обзора, отсутствуют. Ни ответ на отчет разработчика.

Также ясно, что Apple не использует эти каналы для iTunes (настольного) или App Store (iOS). В конечном итоге я обратил свое внимание на то, как iTunes запрашивает данные обзора и выясняет, что запрос аналогичным образом, чтобы соответствовать их User Agent и версии, вернул бы нужные мне данные. Эти запросы, по-видимому, ограничены по скорости в определенной степени, и данные поступают в виде сочетания HTML и JSON, которые требуют большого разбора. Кроме того, поскольку они являются частными вызовами, Apple может легко закрыть дверь в любой момент.

Смежные вопросы