iTunes 最近添加 XML 未显示更新结果

iTunes recently added XML not showing updated results

标题几乎完全解决了我的问题,我正在尝试 return 来自 iTunes Newly Released 部分的内容 XML feed。

你可以在这里查看 http://ax.itunes.apple.com/WebObjects/MZStore.woa/wpa/MRSS/newreleases/limit=100/genre=rap/rss.xml

显示所有 RSS 提要选项的官方页面。

https://www.apple.com/rss

这是我的代码。

$string = file_get_contents('http://ax.itunes.apple.com/WebObjects/MZStore.woa/wpa/MRSS/newreleases/limit=100/genre='.$genre_id.'/rss.xml');
// Remove the colon ":" in the <xxx:yyy> to be <xxxyyy>
$string = preg_replace("/(<\/?)(\w+):([^>]*>)/", "", $string);
$xml = simplexml_load_string($string);

// Output
$rssresults = '';

foreach ($xml->channel->item as $val) {

    // edit foreach
    $musicid = $val->link;
    $musicid=explode('/',$musicid);
    $musicid=explode('?',$musicid[5]);
    $bigimage = preg_replace('/100x100bb/ms', "180x180bb", $val->itmscoverArt[2]);

    $rssresults .= '<li class="page-item"><div class="pagethumb"><a href="'.$site_url.'/music/'.$musicid[0].'/'.cano($val->title).'"><img data-src="'.$bigimage.'" src="'.$site_url.'/images/loading.svg" alt="'.$val->title.'"></a></div>
    <div class="info"><h3><a href="'.$site_url.'/music/'.$musicid[0].'/'.cano($val->title).'">'.$val->itmsalbum.'</a></h3>
        <h4>'.$val->itmsartist.'</h4>
        </div>
    </li>';

}
echo $rssresults;

上面的代码完美无缺,怎么会 return 旧帖子,我怎么能 return 实际新发布的 iTunes 帖子,我不认为它是 RSS url 本例中提供。

我不会为你做所有事情,但这应该足以让你朝着正确的方向前进。

看来 iTunes 已经更新了你阅读他们 XML data(2017 年左右)的方式,我猜这发生了。对于你想要实现的目标,你需要做这样的事情。

$string = file_get_contents('https://rss.itunes.apple.com/api/v1/us/apple-music/new-releases/all/100/explicit.rss');
$string = preg_replace("/(<\/?)(\w+):([^>]*>)/", "", $string);
$xml = simplexml_load_string($string);

$rssresults = '';

foreach ($xml->channel->item as $val) { 
    print $val->title;
    print '<br>';
}
echo $rssresults;

我已经测试了上面的代码并且它正在我这边工作,希望这对你有帮助。