現時点では、このコードを使用して、PHP を使用して特定の Spotify プレイリストの情報を取得します (プレイリストの「最新」タイトルに関する情報を取得します)。
$retu = getsrc("https://embed.spotify.com/?uri=spotify:user:1121975814:playlist:20uXqHNuHw7kR2KWYfQYRb");
$expl = explode('<li class="track-',$retu);
$artist = get_string_between($expl[count($expl)-1],'style="">','</li>');
if(empty($artist)) die($retu);
$name = get_string_between($expl[count($expl)-1],'. ','"');
$id = get_string_between($expl[count($expl)-1],'title ',' ');
echo "$name ($artist) - $id<br>";
$src2 = getsrc("http://open.spotify.com/track/$id");
$cover = get_string_between($src2,'<img id="cover-art" src="','"');
function get_string_between($string, $start, $end)
{
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
function getsrc($url)
{
$ch = curl_init();
$cookies = tmpfile();
$user_agent="Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
$retu = curl_exec($ch);
curl_close($ch);
return $retu;
}
問題は次のものです。
- 遅い
- プレイリスト情報の更新がほとんどないか、更新に古い情報が含まれている場合
プレイリスト トラックを取得するためのより良い方法はありますか? そのために使用できるAPIはありますか?
前もって感謝します